Commit Graph

161 Commits

Author SHA1 Message Date
ValKmjolnir d121dcd630 🎨 improve format of code 2022-10-28 23:28:15 +08:00
ValKmjolnir c705b75513 🚀 change module function parameter format to avoid warnings 2022-10-24 01:12:25 +08:00
ValKmjolnir 3ef8effe9a 🔥 change `nasal_gc` to `gc` 2022-10-23 01:29:20 +08:00
ValKmjolnir 3fd1b25f79 🔥 change class name.
nasal_lexer -> lexer
nasal_parse -> parse
nasal_codegen -> codegen
nasal_vm -> vm
nasal_gc -> gc
nasal_dbg -> debugger
nasal_import -> linker
nas_ref -> var
2022-10-21 01:29:29 +08:00
ValKmjolnir 7a93527948 add stl/json.nas & fix bug
bug: may cause program crash if stack overflow occurs on main stack
2022-10-08 21:34:47 +08:00
ValKmjolnir 405175061a 🚀 crashed coroutine will not make main thread crash. 2022-10-06 23:11:27 +08:00
ValKmjolnir 518ce7fcb9 📝 add interesting gifs into docs 2022-09-13 23:00:48 +08:00
ValKmjolnir aa5b1d3d66 🚀 import information output of dbg, vm and codegen 2022-09-11 17:22:00 +08:00
ValKmjolnir a13e419518 📝 fix MSVC warning in nasal_builtin.h & improve error output. 2022-09-04 23:08:06 +08:00
ValKmjolnir 5715c1df5f 🎨 improve error log output format. 2022-09-02 02:04:03 +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 5be6351b60 delete unnecessary prefix in `die("")` 2022-08-25 01:16:17 +08:00
ValKmjolnir a91826607c optimize header file, now modules could generate smaller dynamic libs. 2022-08-24 22:08:47 +08:00
ValKmjolnir 732a00a1cd 🚀 add `[[noreturn]]` 2022-08-16 01:40:22 +08:00
ValKmjolnir 068743aa4c 📝 change `int` in code to `i32`, optimize code. 2022-07-31 02:19:29 +08:00
ValKmjolnir 7ad1d69c64 optimize code & chdir will not trigger crash if failed to call 2022-07-30 19:17:33 +08:00
ValKmjolnir 4c95d622f6 🚀 shrink stack size & optimize nasal_vm::traceback 2022-07-25 00:23:07 +08:00
ValKmjolnir 5dcf2ede66 📝 doc fix 2022-07-23 17:21:44 +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 46516485b5 📝 change name of used types 2022-07-23 12:35:21 +08:00
ValKmjolnir e9fc70bba8 optimize `op_para` and `op_deft`: change `hashmap<string,u64>` to `hashmap<u32,u32>` 2022-07-23 12:02:41 +08:00
ValKmjolnir 8ca0bc52c3 change some branches 2022-07-22 22:24:48 +08:00
ValKmjolnir af761641d6 🚀 change `std::cout` to `std::clog` to put some log info 2022-07-21 23:16:16 +08:00
ValKmjolnir f68a512845 📝 shrink size of README.md 2022-07-20 22:22:50 +08:00
ValKmjolnir cc4ff38f28 optimize codes 2022-07-19 23:55:12 +08:00
ValKmjolnir cfbec9a3f1 📝 change identifiers' name 2022-07-18 23:54:44 +08:00
ValKmjolnir d8d457ce74 🐛 fix information print format on MSVC. 2022-07-16 18:47:27 +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 f1f48b4881 first step trying to make this project compiled by MSVC: using indirect-threading, change `\e` to `\033`. 2022-07-16 01:02:33 +08:00
ValKmjolnir d1a7d32e7b 📝 fix some wanings. 2022-07-11 23:53:23 +08:00
ValKmjolnir 8cc69c709f 📝 fix some warnings. 2022-07-10 23:55:51 +08:00
ValKmjolnir bcdc55a652 optimize code & replace all `printf` with `std::cout`. 2022-07-09 23:36:14 +08:00
ValKmjolnir 2ed20f6362 📝 change some identifiers' name. 2022-07-09 16:24:58 +08:00
ValKmjolnir 9890b46f02 optimize code. 2022-07-08 23:00:36 +08:00
ValKmjolnir 11e9567b55 📝 change some identifiers' name. 2022-07-08 18:16:00 +08:00
ValKmjolnir 5d4cff0aa8 🚀 shrink code size & now import module can search lib file from local dir and dirs in PATH 2022-07-08 00:42:56 +08:00
ValKmjolnir fb25a4973c optimize codes. details:
1. delete gc::builtin_alloc
2. add convenient way of getting new string object: gc::newstr, and shrink the size of codes
3. update doc
4. add gc::temp to be used in native/module functions to avoid being recognized as garbage incorrectly when triggered mark-sweep
2022-07-07 17:51:30 +08:00
ValKmjolnir b638708722 📝 change identifiers' name and test/coroutine.nas, test/filesystem.nas 2022-07-06 16:04:21 +08:00
ValKmjolnir a04ed2a4aa 📝 change makefile and update output format of --opcnt and --detail 2022-07-06 11:57:40 +08:00
ValKmjolnir 82b33ffe4a 📝 change name of some identifiers. shrink size of main stack. 2022-07-05 18:13:54 +08:00
ValKmjolnir 92d68b357c optimize vm 2022-07-04 00:16:04 +08:00
ValKmjolnir a2e2d5d8f6 add native function runtime.argv() to get command line arguments 2022-06-04 20:12:00 +08:00
ValKmjolnir ab37495960 🐛 visual changement & bug fix in test/json.nas & optimize test/bp.nas 2022-05-30 21:27:24 +08:00
ValKmjolnir 882ecac100 📝 update README.md 2022-05-25 14:05:58 +08:00
ValKmjolnir ebfacd9197 optimize codes 2022-05-22 18:19:13 +08:00
ValKmjolnir 99dca532f6 📝 add notes in nasal_codegen.h and nasal_vm.h. add register_info() in debugger. 2022-05-21 14:22:54 +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 120ceb429a 🚀 add coroutine library(beta) and lib function settimer&maketimestamp 2022-05-19 20:09:23 +08:00
ValKmjolnir 712a047a43 🐛 now builtin_md5 uses unsigned char instead of char 2022-05-15 20:35:20 +08:00