Commit Graph

55 Commits

Author SHA1 Message Date
ValKmjolnir fb00ddc19a 🚀 add colorful error info print. 2022-08-31 00:56:19 +08:00
ValKmjolnir 6318f7e9e8 optimize header file, now modules could generate smaller dynamic libs. 2022-08-24 22:08:47 +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 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 2f89c95307 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 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 b5f839bebe 📝 change some identifiers' name. 2022-07-03 22:46:28 +08:00
ValKmjolnir 8cc483b82a optimize codes 2022-07-02 18:08:41 +08:00
ValKmjolnir beba975ff0 change format of error info
parser now can report exact place where is lacking ';' or ','
2022-06-30 23:15:10 +08:00
ValKmjolnir a4bbb100b6 add utf-8 identifier check in nasal_lexer & fix printf format at windows platform & add test file utf8chk.nas 2022-05-07 16:50:13 +08:00
ValKmjolnir 85490a3136 fix bug in codegen: foreach/forindex(id;vec/hash) may cause segmentation fault because of incorrect generated operand 2022-04-16 19:45:55 +08:00
ValKmjolnir f4bac99a3a optimize codes 2022-04-13 19:08:06 +08:00
ValKmjolnir 92989ed9f6 optimize codes 2022-04-12 18:26:54 +08:00
ValKmjolnir 9cbbbe2058 add special character \e. 2022-02-18 01:58:49 +08:00
ValKmjolnir a51b7fe11a optimize codes 2022-01-16 22:48:00 +08:00
ValKmjolnir 37b0d7f12a bug fixed 2021-12-25 15:56:08 +08:00
ValKmjolnir 1ae354c0cf lexer,parser,import,codegen use the same error module. 2021-12-23 21:15:50 +08:00
ValKmjolnir bde94f8ec6 update error info (except parser)
prepare for nasal_err module
2021-12-23 14:09:54 +08:00
ValKmjolnir 7169f25774 delete op_cntpop & counter stack
now the iterator will be type vm_cnt and be stored on value stack.
2021-11-25 18:13:31 +08:00
ValKmjolnir bc9039dd37 change code structure 2021-11-02 22:44:42 +08:00
ValKmjolnir b131a3ea9e add io lib & bug fixed 2021-10-27 23:05:25 +08:00
ValKmjolnir 95451490ca bug fixed 2021-10-26 22:34:02 +08:00
ValKmjolnir a7b1851967 optimize code structure 2021-10-16 21:08:57 +08:00
ValKmjolnir 602095f190 update variable name in nasal_lexer 2021-10-16 14:07:55 +08:00
ValKmjolnir a71b08a927 update 2021-10-15 22:21:57 +08:00
ValKmjolnir 645a652830 change function name and cli format 2021-10-14 23:22:28 +08:00
Li Haokun 52fbd729cc bad access bug fixed 2021-09-13 19:55:03 +08:00
Li Haokun 5bbbb28cfb update lexer 2021-08-12 19:00:17 +08:00
ValKmjolnir 49e9412915 use same indentation 2021-08-09 21:30:18 +08:00
Li Haokun e9bd033883 update 2021-08-09 19:13:39 +08:00
ValKmjolnir 143a59c735 update 2021-08-09 01:02:27 +08:00
Li Haokun a6fe835ed4 variables can be used before definition
change program to command line
change trace back info
change print function of nasal_vec and nasal_hash
2021-08-03 18:55:11 +08:00
ValKmjolnir a1adb5b948 add test file 2021-08-01 22:34:02 +08:00
Li Haokun 284ff5abb6 fixed bug in nasal_parse 2021-07-21 17:38:11 +08:00
ValKmjolnir a734b99beb performance optimization of vm/lex/parse/test 2021-06-24 00:26:26 +08:00
Valk Richard Li 40a1189b18 nothing changed 2021-06-20 01:27:01 +08:00
Valk Richard Li 166fe32839 front end optimization&stack overflow prompt
change parameter type to avoid unnecessary copies of string.
change stack depth from 65536<<4 to 16+(65536<<2).
now you could know stack overflow when it happens
2021-06-07 23:53:43 +08:00
Valk Richard Li a3dbaebfd8 bug fixed
fixed SIGSEGV when failed to load file in nasal_lexer::openfile
2021-06-06 19:17:02 +08:00
Valk Richard Li b2e85de7a7 bug fixed
a gc bug which causes  fatal error.
add member value collect to make sure that nasal_val is not collected repeatedly.
use builtin_alloc in builtin function to avoid incorrect collection of value in use(gc_alloc).
change free_list to free_list[vm_type_size] to avoid too many calls of new/delete(but seems useless?)
but the most important thing is fixing this bug.
2021-05-31 19:10:59 +08:00
Valk Richard Li 6651fccbe8 parser reports syntax error accurately
still need improvement
2021-05-04 01:13:53 +08:00
Valk Richard Li 805efbd104 update 2021-02-13 14:37:21 +08:00
Valk Richard Li 92aaef55d2 update parser to LL(1) 2021-02-13 13:28:20 +08:00
Valk Richard Li 4112a05a83 identifiers' name changed 2021-02-12 23:48:51 +08:00
Valk Richard Li f97ef49fb7 update 2021-01-06 21:07:34 +08:00
Valk Richard Li 14c43c6a42 update & bug fixed 2021-01-05 23:17:32 +08:00
Valk Richard Li cfc9a97144 update 2020-12-19 23:47:04 +08:00
Valk Richard Li 26cb74193d update 2020-12-14 00:10:31 +08:00
Valk Richard Li 6d9141ff2d update 2020-11-30 23:54:32 +08:00
Valk Richard Li 3868e986fb update 2020-11-02 12:24:12 +08:00