Commit Graph

145 Commits

Author SHA1 Message Date
ValKmjolnir 8583be337e 🚀 change module function parameter format to avoid warnings 2022-10-24 01:12:25 +08:00
ValKmjolnir 1a0f81214f 🔥 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 d3e784d191 🚀 crashed coroutine will not make main thread crash. 2022-10-06 23:11:27 +08:00
ValKmjolnir ba12bfb6b0 🚀 use std::ostream to unify nas_ref output 2022-09-23 21:45:08 +08:00
ValKmjolnir 17b30d590b 🐛 fix compilation error of FindNextFile in other VS version. 2022-09-23 20:39:34 +08:00
ValKmjolnir 4b4489f833 🐛 fix bug that int() cannot convert numeric string 2022-09-12 22:45:35 +08:00
ValKmjolnir 4bdfa9cb61 🚀 import information output of dbg, vm and codegen 2022-09-11 17:22:00 +08:00
ValKmjolnir 8d0eadaa74 📝 fix MSVC warning in nasal_builtin.h & improve error output. 2022-09-04 23:08:06 +08:00
ValKmjolnir f70ce082fd 🎨 improve error log output format. 2022-09-02 02:04:03 +08:00
ValKmjolnir 2da3be7fc4 🚀 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 e61e596b2a 📝 diable warning C4566 in MSVC 2022-08-31 01:06:57 +08:00
ValKmjolnir c7662af0fc 🚀 add lib function exit() and add test file watchdog.nas to run the nasal file when it is changed. 2022-08-27 18:12:32 +08:00
ValKmjolnir 6318f7e9e8 optimize header file, now modules could generate smaller dynamic libs. 2022-08-24 22:08:47 +08:00
ValKmjolnir 88041d0903 reduce unnecessary errors & make io.read safer 2022-08-11 01:48:02 +08:00
ValKmjolnir d65b0b327f reduce unnecessary code & optimize code 2022-08-10 01:44:47 +08:00
ValKmjolnir 04281f59f2 reduce unnecessary native-function errors. 2022-08-09 01:34:47 +08:00
ValKmjolnir e51ba92f30 🚀 optimize code 2022-08-08 22:10:51 +08:00
ValKmjolnir eff98fa9b4 🚀 optimize stl/stack.nas, test/calc.nas & io.fin now returns empty string when cannot open file 2022-08-07 00:35:55 +08:00
ValKmjolnir e6fb388701 📝 little change 2022-08-05 23:22:32 +08:00
ValKmjolnir db1a0c92a2 reduce code size 2022-08-03 23:03:49 +08:00
ValKmjolnir 1be6c55512 optimize code & shrink code size 2022-08-02 22:03:28 +08:00
ValKmjolnir d2b63b394e 📝 optimize codes 2022-08-01 22:51:19 +08:00
ValKmjolnir 13ddfa5050 📝 delete unnecessary code & change test file. 2022-07-31 19:26:13 +08:00
ValKmjolnir 4ab8a730a6 📝 change int in code to i32, optimize code. 2022-07-31 02:19:29 +08:00
ValKmjolnir 9c779b871f optimize code & chdir will not trigger crash if failed to call 2022-07-30 19:17:33 +08:00
ValKmjolnir 63452ff224 🚀 input now can choose std::getline to read one line. 2022-07-30 01:31:56 +08:00
ValKmjolnir fb37283be0 🚀 move fg constants to stl/fg_env.nas, add io.exists. now dlopen and import can search file in PATH. 2022-07-28 21:44:55 +08:00
ValKmjolnir 49a7ed28e9 🚀 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 65fe7daff6 📝 change name of used types 2022-07-23 12:35:21 +08:00
ValKmjolnir bec589b85f 📝 shrink size of README.md 2022-07-20 22:22:50 +08:00
ValKmjolnir 2fa59a7e95 optimize codes 2022-07-19 23:55:12 +08:00
ValKmjolnir 6037fdccc3 🐛 fix information print format on MSVC. 2022-07-16 18:47:27 +08:00
ValKmjolnir accb677874 🐛 fix error use of FindFirstFile. 2022-07-16 17:47:43 +08:00
ValKmjolnir 7c1d45a200 🚀 update makefile to choose different compilers by users & fix some codes for MSVC to compile. 2022-07-16 16:53:11 +08:00
ValKmjolnir 1097e46a23 📝 fix some wanings. 2022-07-11 23:53:23 +08:00
ValKmjolnir bdd0cb2912 📝 change some identifiers' name. 2022-07-09 16:24:58 +08:00
ValKmjolnir fdcd85dadf optimize code. 2022-07-08 23:00:36 +08:00
ValKmjolnir aea8b317c7 🚀 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 86ae3aeee2 🐛 fix a bug that split doesn't work if delimeter's length is greater than 1. 2022-07-07 19:32:06 +08:00
ValKmjolnir 6266719fc1 optimize builtin_split. 2022-07-07 18:07:24 +08:00
ValKmjolnir ec308f8053 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 fe808f6d9f 🚀 change usleep in builtin_sleep to cross platform c++11::std::this_thread::sleep_for.
Although this is not so accurate in Windows platform, the accuracy is still improved and this line of code does not need MinGW to build on Windows platform.
2022-07-07 14:35:10 +08:00
ValKmjolnir a402e6d7d2 🚀 add a new way to import other files:
`import("./stl/queue.nas");` now has same function as `import.stl.queue;`
2022-07-06 22:21:01 +08:00
ValKmjolnir 3d1e3f49dc 📝 change identifiers' name and test/coroutine.nas, test/filesystem.nas 2022-07-06 16:04:21 +08:00
ValKmjolnir 60952e1d2f 🚀 add os.time() to get the local time string 2022-06-12 19:08:31 +08:00
ValKmjolnir ec2866021f add native function runtime.argv() to get command line arguments 2022-06-04 20:12:00 +08:00
ValKmjolnir 6f709f30f5 🚀 add native function println & add test/occupation.nas 2022-06-04 19:22:28 +08:00
ValKmjolnir 954310293d add u32 and() xor() or() nand() not() 2022-06-03 21:34:02 +08:00
ValKmjolnir 8b63c44266 optimize codes 2022-05-22 18:19:13 +08:00
ValKmjolnir c47bc7b881 optimize codes: store upvalue on stack & debugger now can output information of registers 2022-05-20 21:19:43 +08:00