Commit Graph

120 Commits

Author SHA1 Message Date
ValKmjolnir b6886cc957 finish new codegen 2023-07-01 16:38:37 +08:00
ValKmjolnir 5d9267d3b9 add symbol_finder & codegen 2023-06-29 00:30:50 +08:00
ValKmjolnir 15f63210b4 add codegen/opcode/optimizer 2023-06-28 00:34:54 +08:00
ValKmjolnir e2ec8cb9a0 🚀 add function ghosttype 2023-06-27 22:54:13 +08:00
ValKmjolnir c516c0c3bf add new import & use c++17 2023-06-26 23:59:09 +08:00
ValKmjolnir 9f66960244 add ast dumper 2023-06-25 00:31:11 +08:00
ValKmjolnir 2ce13e2134 change ast used in parser 2023-06-24 16:50:43 +08:00
ValKmjolnir bcf274aed4 update 2023-06-19 00:10:14 +08:00
ValKmjolnir c95810b46c add nasal_new_lexer 2023-06-16 22:23:46 +08:00
ValKmjolnir ec1985b3cc update 2023-06-14 00:01:15 +08:00
ValKmjolnir da22dd03c0 add nasal_new_parse 2023-06-12 00:03:18 +08:00
ValKmjolnir 9bf4eacc62 prepare to use new ast 2023-06-05 00:11:37 +08:00
ValKmjolnir f914678311 add readline & os.arch
delete test file mandel.nas

change io.fin => io.readfile
2023-04-28 23:11:17 +08:00
ValKmjolnir 5519dc7a29 merge runtime regs into struct context 2023-04-08 00:18:58 +08:00
ValKmjolnir 3852ce23a3 split opcode to nasal_opcode.h 2023-04-04 00:29:17 +08:00
ValKmjolnir 7cdc5e40af visual update 2023-03-11 18:15:27 +08:00
ValKmjolnir 8161f3c514 optimize codegen 2023-03-09 23:00:25 +08:00
ValKmjolnir abe2464a67 📝 shorten the running time of test process 2023-03-02 00:36:48 +08:00
ValKmjolnir 068184f451 🐛 fix codegen for binary not on some ast nodes 2023-02-12 15:33:38 +08:00
ValKmjolnir 368b057a91 🚀 add binary negation 2023-02-12 15:22:05 +08:00
ValKmjolnir 79c1e27027 🐛 fix bug in test/calc.nas 2023-02-03 19:01:00 +08:00
ValKmjolnir dc6f3347b7 🎨 change clean command in makefile 2022-12-25 17:59:14 +08:00
ValKmjolnir d5996d6a1d 🎨 change clean command in makefiles 2022-12-25 17:58:05 +08:00
ValKmjolnir cb547499ac optimize gc 2022-12-07 01:17:40 +08:00
ValKmjolnir 9c6996b54e update test files 2022-12-03 01:24:56 +08:00
ValKmjolnir 4c5ffb0240 🎨 change code format 2022-11-26 22:49:22 +08:00
ValKmjolnir 4fd69c6ce4 🚀 optimize code 2022-11-06 18:20:10 +08:00
ValKmjolnir feea901e4d 🎨 improve code format
delete option -v, --version, -l, --lex
2022-10-30 01:26:26 +08:00
ValKmjolnir 405175061a 🚀 crashed coroutine will not make main thread crash. 2022-10-06 23:11:27 +08:00
ValKmjolnir f86ea2445f 🚀 change cpp standard to c++14 & add command line colorful info output.
and fix a bug that program may crash if there's an error when coroutine is running
2022-08-31 23:24:41 +08:00
ValKmjolnir 27ceeb517d 🐛 fix bug that `make test` failed 2022-08-29 00:48:06 +08:00
ValKmjolnir 007b83bed5 📝 add test file `ppmgen.nas` 2022-08-17 21:09:22 +08:00
ValKmjolnir 2f43c47e77 🐛 fix compilation error of modules on macOS platform 2022-08-10 19:48:01 +08:00
ValKmjolnir db896e932f correct types in nasal_codegen.h 2022-07-27 00:59:35 +08:00
ValKmjolnir 99a131c552 🚀 change `std::string` to `string`, change identifiers' name, `-o` is now a function available in debug mode. 2022-07-23 17:00:25 +08:00
ValKmjolnir cc4ff38f28 optimize codes 2022-07-19 23:55:12 +08:00
ValKmjolnir 577ecd14df 🚀 update makefile to choose different compilers by users & fix some codes for MSVC to compile. 2022-07-16 16:53:11 +08:00
ValKmjolnir a04ed2a4aa 📝 change makefile and update output format of --opcnt and --detail 2022-07-06 11:57:40 +08:00
ValKmjolnir 2bc15697df optimize codes and delete unused variables 2022-07-05 00:49:38 +08:00
ValKmjolnir 12d7dde42d 🚀 finish socket library:
socket.socket()

socket.closesocket()

socket.shutdown()

socket.bind()

socket.listen()

socket.connect()

socket.accept()

socket.send() socket.sendto()

socket.recv() socket.recvfrom()

socket.errno()
2022-06-08 19:06:16 +08:00
ValKmjolnir a2e2d5d8f6 add native function runtime.argv() to get command line arguments 2022-06-04 20:12:00 +08:00
ValKmjolnir cb0fee04a9 🚀 add native function println & add test/occupation.nas 2022-06-04 19:22:28 +08:00
ValKmjolnir 04ab09586b 🚀 add stl/fg_env.nas & delete test/props props_sim maketimer_sim.nas 2022-05-31 20:36:39 +08:00
ValKmjolnir 36a7868b0b 📝 add maketimer_multi_coroutine_test(vm_num) in test/maketimer_sim.nas 2022-05-23 22:12:58 +08:00
ValKmjolnir 07eeaadf96 optimize codes: store upvalue on stack & debugger now can output information of registers 2022-05-20 21:19:43 +08:00
ValKmjolnir f049e1f9fb add test file diff.nas 2022-04-30 20:00:15 +08:00
ValKmjolnir 7417d5e635 change makefile 2022-04-26 22:53:35 +08:00
ValKmjolnir 7b160c4589 add test file wavecollapse.nas 2022-04-10 15:34:20 +08:00
ValKmjolnir 7a939b417d fix bug in test/md5.nas & add test file md5compare.nas 2022-03-29 22:36:28 +08:00
ValKmjolnir 617ad03d33 add math.pow 2022-03-27 16:14:55 +08:00
ValKmjolnir 86f6296268 change opcode print format 2022-03-27 01:20:17 +08:00
ValKmjolnir 9a099f66cb update docs 2022-03-14 20:29:49 +08:00
ValKmjolnir 61666d275d delete lstk&fstk, store local address and function on stack and in vm registers 2022-03-08 17:30:40 +08:00
ValKmjolnir cd808a5e6d update detailed-info 2022-03-03 19:00:23 +08:00
ValKmjolnir f312250d27 update 2022-03-01 14:36:05 +08:00
ValKmjolnir 8c67e04cc4 update test file 2022-02-18 15:36:34 +08:00
ValKmjolnir 3e7ba4d774 little update 2022-02-10 22:20:18 +08:00
ValKmjolnir 24a1e39ad3 add garbage collector and memory allocator info. use '-d' to activate this function. 2022-02-08 23:40:52 +08:00
ValKmjolnir bf780514e6 add constant string calculation in optimizer 2022-02-01 21:20:36 +08:00
ValKmjolnir 40344455e6 add optimizer
optimizer now does one work: calculate const number before generating bytecode
2022-01-22 00:41:08 +08:00
ValKmjolnir 46716620e3 add test file 'turingmachine.nas' & change output format of ast & bug fixed 2021-12-28 20:23:47 +08:00
ValKmjolnir f0ae63bce5 lexer,parser,import,codegen use the same error module. 2021-12-23 21:15:50 +08:00
ValKmjolnir 189d49fa4a add debugger framework
with function:backtrace,run,help,show global/local/upvalue,exit
2021-12-20 21:33:22 +08:00
ValKmjolnir 5a80258d20 bug fixed & add os.platform 2021-12-08 18:46:32 +08:00
ValKmjolnir 9861ecd03e add dylib.dlopen dylib.dlsym dylib.dlclose dylib.dlcall
now you could add your own modules into nasal without changing the source code!
2021-12-03 19:31:03 +08:00
ValKmjolnir cd08b2d1bb change code structure 2021-11-02 22:44:42 +08:00
ValKmjolnir 183446d32a bug fixed 2021-10-26 22:34:02 +08:00
ValKmjolnir 540aeb73f4 optimize nasal_ast and fix bug in opr_slc2 2021-10-20 20:54:23 +08:00
ValKmjolnir 56280db2c7 fix sigsegv error 2021-10-18 21:50:25 +08:00
ValKmjolnir bbee31ea55 add detail crash info 2021-10-17 22:57:45 +08:00