637 Commits

Author SHA1 Message Date
632fbfdba2 WIP for #b[ 2024-01-27 14:26:51 +09:00
aaa6e35787 enhanced the reader and compiler to treat characters and strings prefixed with b and u as a limited range character and a byte array with internal terminating null at the back 2024-01-25 23:48:06 +09:00
4d0d50dea9 WIP - handling u and b prefix 2024-01-24 18:38:33 +09:00
b8e0b3578b WIP - implementing b or u prefix for a string or a character literal 2024-01-24 16:26:30 +09:00
bc7cbd9ed2 renumbers error testers basing on 5000.
fixed a compiler bug not checking the lower bound of block depth in find_variable_backward_with_word()
2024-01-23 01:11:13 +09:00
ca9a6b9eb7 enhanced the main program to show prompt in the interactive mode 2024-01-21 11:40:40 +09:00
e3120e20a2 fixed wrong semicolon handling and enhanced eol/semiclon handling 2024-01-21 02:23:19 +09:00
b35ed20c68 updated the reader code to ignore EOL inside vlist 2024-01-20 01:17:32 +09:00
828bdbb6b7 renamed HCL_TRAIT_LANG_NL_TERMINATOR to HCL_TRAIT_LANG_ENABLE_EOL with bug fixes 2024-01-19 13:25:23 +09:00
f01c499832 added line-break escaping 2024-01-18 22:55:50 +08:00
b3f363c94f experimenting with a new line as a terminator like a semicolon. this breaks some test cases as of now 2024-01-18 18:16:05 +08:00
656af796ed updated testers with updated syntax 2024-01-15 00:47:01 +09:00
48a54d61c1 updated the reader to forge an outer xlist automatically if the beginning is a complex literal expression like array([]), dictionary(#{}), etc 2024-01-14 09:48:57 +09:00
eb6e0484af WIP - multi-variable assigment. experimental convertion from := to set/set-r done 2024-01-14 01:28:00 +09:00
c5606262b9 WIP - multi-vars assignment 2024-01-13 14:37:59 +09:00
f70a087525 enhanced the error handling in lib/read.c 2024-01-08 00:38:42 +09:00
cf0162e140 := experiment 2024-01-07 10:38:37 +09:00
a960af379a added more context-sensitive error messages upon memory allocation failures in comp.c and read.c 2024-01-06 18:11:39 +09:00
3ea6b92b5f attempt to implement the assignment expression using := 2024-01-06 13:15:15 +09:00
9bc90c4d60 added HCL_MOD_LIBDIRS 2024-01-05 15:01:59 +09:00
dab0c01e73 removed MLIST by LPARCOLON 2024-01-03 21:11:23 +09:00
309442e307 enhanced the compiler to show a proper message for a redundant class name defined with 'class' 2024-01-02 13:59:03 +09:00
c82b56fdf6 enhanced the MLIST syntax - '(obj:message arg1 arg2)' 2024-01-02 01:41:41 +09:00
caebe2c5a9 added hcl_unmarshalcodefrommem() and hcl_marshalcodetomem() 2023-12-30 22:28:04 +09:00
007a6c6b48 added more code struct manipulation code 2023-12-28 00:27:27 +09:00
ce4c583773 writing code exchange functions 2023-12-27 09:09:40 +09:00
58d913e3da writing functions for bytecode and literal frame exchange with other vms 2023-12-23 12:43:26 +09:00
5f91536a38 code cleanup 2023-12-22 11:53:29 +09:00
2243a1357d added HCL_IO_READ_BYTES
added hcl_htonoow/hcl_ntohoow and the like
2023-12-16 00:31:50 +09:00
6ba0d3b345 simple code cleanup 2023-12-09 14:01:03 +09:00
657c14fc93 minor typecasting change 2023-12-08 18:36:23 +09:00
10189e60ce cleaned up some code 2023-12-07 23:01:17 +09:00
af3abee6ca preparing to flatten byte code structure 2023-12-06 17:19:57 +09:00
291a999c2a cleaned up code by removing migrating unused functions 2023-12-06 11:09:15 +09:00
89b5089564 modified the reader to allow redundant semicolons as if blank expressions are specified. redundant semicolons form no expressions.
modified the compiler to emit instructions to return the receiver for methods for classes
2023-12-04 22:35:30 +09:00
01fcaba626 updated the compiler to compile 'class' without the class name while 'defclass' with the class name 2023-12-02 23:21:57 +09:00
0bf3bde497 making variable resolution more consisitent. class name resolution part still in progress 2023-12-02 12:52:36 +09:00
924d4ad5e2 updating the compiler to recognize class-level variables accessors prefixed with self/super in assignment expressions 2023-12-02 03:35:59 +09:00
70828ac110 updated the reader and the compiler to support self.var inside class definition 2023-12-01 21:49:28 +09:00
e6f6d33e51 enhanced the feed processor to auto-terminate auto-forged xlist without semicolon if it comes right before the right brace 2023-11-29 17:12:21 +09:00
bb4786b6ca some compiler enhancements 2023-11-29 15:54:37 +09:00
57629478a1 some 'do' experiment 2023-11-28 20:47:23 +09:00
9f4bf7485d enhanced the compiler to prohibit variable declaration after 'do' if it's the head of block expression 2023-11-28 01:44:13 +09:00
f3c0c1b8c1 enhanced the compiler to prohibit variable declaration in class init scope 2023-11-27 18:25:27 +09:00
eede341cfa added the WIP hcl-s2.c file 2023-11-27 00:13:28 +09:00
e91dde6213 added some error check scripts 2023-11-27 00:08:59 +09:00
3d47a99cd2 added many charcter handling code 2023-11-22 00:24:57 +09:00
hyung-hwan
6a861d2db5 minor code clean-up 2023-11-21 16:30:20 +09:00
3d85965b98 fixed a 128bit integer issue with va_arg 2023-11-17 16:56:05 +09:00
01c0636206 enhanced the block expression checker to allow non-block expression if not followed by another expression 2023-11-15 14:35:49 +09:00