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