646 Commits

Author SHA1 Message Date
00438200f9 fixed a test case regarding self and super as a return value 2024-02-08 01:39:21 +09:00
d99a514278 WIP - introducing the BINOP token 2024-02-04 21:35:31 +09:00
48e6df233b changed ::: to :: to indicate class variables, parent class, retvar 2024-02-04 01:57:53 +09:00
b20d6b14d8 not yet used. but added :< and :> 2024-02-03 18:59:17 +09:00
c2928615a4 shortened ::* to :* 2024-02-03 18:50:10 +09:00
9aa1bde1a1 changed hcl_geterrnum() to HCL_ERRNUM().
reintroduced hcl_geterrnum() as a function
2024-02-03 13:36:05 +09:00
d339338a40 added some pascal wrapper files 2024-02-02 14:57:46 +09:00
a1f304bdef changing more part of array handling to use #[ 2024-01-28 00:03:40 +09:00
2e1ae8d9ee WIP - #b[ token for byte array 2024-01-27 19:10:56 +09:00
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