Commit Graph

1046 Commits

Author SHA1 Message Date
ValKmjolnir b61e7dfcb3 update docs & fix bug in nasal_builtin.h 2022-03-16 15:30:34 +08:00
ValKmjolnir 7ef9dd9371 change enum obj_type to nasal_obj::obj_type 2022-03-15 22:51:14 +08:00
ValKmjolnir 9740ae90a5 update docs 2022-03-14 20:29:49 +08:00
ValKmjolnir 19db83a7f0 add destructors for obj_file, obj_dylib, obj_dir & bug fix 2022-03-13 00:11:50 +08:00
ValKmjolnir 34a59db9c4 add destructor for obj_file & change arguments in test/tetris.nas 2022-03-12 23:37:16 +08:00
ValKmjolnir 01837de162 update test/tetris.nas 2022-03-11 23:42:09 +08:00
ValKmjolnir 015ef1e665 fix bug in test/json.nas 2022-03-11 15:26:38 +08:00
ValKmjolnir b1b233fb00 update fully functional test/json.nas 2022-03-11 15:11:24 +08:00
ValKmjolnir 4bbeaa10b5 visual update 2022-03-10 16:05:49 +08:00
ValKmjolnir 88ed64caf2 change nasal_ref value option functions' output types from pointers to references 2022-03-09 22:54:54 +08:00
ValKmjolnir 8309a6211a add unix.fork&unix.pipe(do not work on windows platform) 2022-03-09 19:03:12 +08:00
ValKmjolnir c00f1a2103 delete lstk&fstk, store local address and function on stack and in vm registers 2022-03-08 17:30:40 +08:00
ValKmjolnir 5ac882c01e update num->string algorithm, now the to_string will output strings with no tailing zeros 2022-03-08 13:40:27 +08:00
ValKmjolnir b786dd0209 safer stl/module.nas & add stl/file.nas encapsulated from lib.nas/io 2022-03-06 15:17:39 +08:00
ValKmjolnir 15c5fbb1fb add module.nas to safely use dylib 2022-03-05 21:52:29 +08:00
ValKmjolnir 9eddf0b3cf try fix bug 'use of undeclared identifier 'environ'' on MacOS 2022-03-05 19:24:33 +08:00
ValKmjolnir ebb601abbf add unix.environ() & use LPCWSTR in dylib.dlopen on Windows platform 2022-03-05 19:15:52 +08:00
ValKmjolnir 3cd9d02de4 update detailed-info 2022-03-03 19:00:23 +08:00
ValKmjolnir aa3f6de9ef fix bug of upval_state 2022-03-02 19:28:17 +08:00
ValKmjolnir 7d602cf6ca update 2022-03-01 14:36:05 +08:00
ValKmjolnir 83e27aa0cb fix bug in test/tetris.nas 2022-02-25 23:34:02 +08:00
ValKmjolnir 97663ae5bf fix bug of -o not working. 2022-02-23 21:56:45 +08:00
ValKmjolnir 4be9c8b5c1 update test/tetris.nas 2022-02-23 01:09:31 +08:00
ValKmjolnir 728211e611 fix bug in libkey and test/tetris.nas 2022-02-22 18:01:49 +08:00
ValKmjolnir 2d4255a162 finish tetris.nas 2022-02-21 17:10:13 +08:00
ValKmjolnir 98668da741 finish basic functions of tetris 2022-02-21 00:47:32 +08:00
ValKmjolnir 7812c7f691 finish map drawing in test/tetris.nas 2022-02-20 17:58:13 +08:00
ValKmjolnir 84aa18d5d2 add new third-lib libkey that includes function: kbhit,getch,nonblock 2022-02-19 16:55:54 +08:00
ValKmjolnir 50b2cdd513 update README.md 2022-02-18 15:59:27 +08:00
ValKmjolnir 78361539c7 update test file 2022-02-18 15:36:34 +08:00
ValKmjolnir 9cbbbe2058 add special character \e. 2022-02-18 01:58:49 +08:00
ValKmjolnir 2be7324cde change parameter name in native function split. 2022-02-17 23:34:58 +08:00
ValKmjolnir 6fee4da9a0 delete operand op_nop 2022-02-16 23:27:22 +08:00
ValKmjolnir 4814498f73 change tutorial's place in README.md 2022-02-15 23:42:17 +08:00
ValKmjolnir b010fde8b1 fixed bug when -O0 the program crashes with code 01.
add `nasal_err():error(0){}` in `nasal_err.h:47` as the constructor.
2022-02-14 17:40:19 +08:00
ValKmjolnir 7958fd8919 update README.md 2022-02-14 17:29:26 +08:00
ValKmjolnir 7ced74a0a5 add new gc type vm_upval 2022-02-13 22:40:54 +08:00
ValKmjolnir f16259b2da update README & bug fixed 2022-02-13 16:10:02 +08:00
ValKmjolnir 0d5b0fa57d now local values are stored on stack. upvalue is generated when creating a new function in local scope.
may include some bugs inside. but all test files has passed the test so i decide to push it.
2022-02-12 23:12:30 +08:00
ValKmjolnir c7909bfdf8 prepare for function-call optimization v8.0 2022-02-12 18:03:50 +08:00
ValKmjolnir 3ca42d1fd9 update test/calc.nas & print function of nasal_vec/nasal_hash 2022-02-11 17:04:27 +08:00
ValKmjolnir 4fa2a45a07 little update 2022-02-10 22:20:18 +08:00
ValKmjolnir 6908e509ac add notes in lib.nas & add runtime.gc() & add total instruction count in '-o'. 2022-02-09 15:53:09 +08:00
ValKmjolnir ee01e0992c add garbage collector and memory allocator info. use '-d' to activate this function. 2022-02-08 23:40:52 +08:00
ValKmjolnir 87f2b78fc8 update/optimize test files 2022-02-07 23:41:50 +08:00
ValKmjolnir 54da9e4ee1 optimize test file & little update. 2022-02-06 19:55:45 +08:00
ValKmjolnir 1381cb924d reuse codes in nasal_vec::print and nasal_hash::print
now they all use nasal_ref::print
2022-02-05 23:55:56 +08:00
ValKmjolnir 666feae851 change increment arguments to a more efficiency level & change gc.nil, gc.one, gc.zero to constant nil, one, zero 2022-02-04 01:51:30 +08:00
ValKmjolnir 0783f02860 change increment argument in nasal_gc, because new vm doesn't need to alloc new objects frequently.
vm_str  2048 -> 512

vm_func 1024 -> 512

vm_vec  8192 -> 512
2022-02-03 22:43:51 +08:00
ValKmjolnir 9a245078d7 change 'global' & 'local' in codegen to std::unordered_map & std::vector<std::unordered_map>> 2022-02-02 23:52:00 +08:00