Commit Graph

700 Commits

Author SHA1 Message Date
cac171f4b2 enhanced configure.ac to better support fpc wrapper's linking when findng compiler's builtin libraries such as libgcc or libquadmath
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-11 13:41:32 +09:00
b86eb13fb1 implemented simple binary operator handling in the reader code
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-10 12:23:34 +09:00
0455d6cdb3 let the reader check rvalue counts before converting to set or set-r
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-10 00:31:04 +09:00
dd97f3b7f6 adding special handling for binop
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-09 13:07:37 +09:00
00438200f9 fixed a test case regarding self and super as a return value
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-08 01:39:21 +09:00
d99a514278 WIP - introducing the BINOP token
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-04 21:35:31 +09:00
48e6df233b changed ::: to :: to indicate class variables, parent class, retvar
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-04 01:57:53 +09:00
b20d6b14d8 not yet used. but added :< and :>
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-03 18:59:17 +09:00
c2928615a4 shortened ::* to :*
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-03 18:50:10 +09:00
9aa1bde1a1 changed hcl_geterrnum() to HCL_ERRNUM().
All checks were successful
continuous-integration/drone/push Build is passing
reintroduced hcl_geterrnum() as a function
2024-02-03 13:36:05 +09:00
d339338a40 added some pascal wrapper files
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-02 14:57:46 +09:00
a1f304bdef changing more part of array handling to use #[
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-28 00:03:40 +09:00
2e1ae8d9ee WIP - #b[ token for byte array
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-27 19:10:56 +09:00
632fbfdba2 WIP for #b[
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-24 18:38:33 +09:00
b8e0b3578b WIP - implementing b or u prefix for a string or a character literal
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-24 16:26:30 +09:00
bc7cbd9ed2 renumbers error testers basing on 5000.
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-21 11:40:40 +09:00
e3120e20a2 fixed wrong semicolon handling and enhanced eol/semiclon handling
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-21 02:23:19 +09:00
b35ed20c68 updated the reader code to ignore EOL inside vlist
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-20 01:17:32 +09:00
828bdbb6b7 renamed HCL_TRAIT_LANG_NL_TERMINATOR to HCL_TRAIT_LANG_ENABLE_EOL with bug fixes
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-19 13:25:23 +09:00
f01c499832 added line-break escaping
All checks were successful
continuous-integration/drone/push Build is passing
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
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-18 18:16:05 +08:00
656af796ed updated testers with updated syntax
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-14 09:48:57 +09:00
eb6e0484af WIP - multi-variable assigment. experimental convertion from := to set/set-r done
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-08 00:38:42 +09:00
cf0162e140 := experiment
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-06 18:11:39 +09:00
3ea6b92b5f attempt to implement the assignment expression using :=
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-06 13:15:15 +09:00
9bc90c4d60 added HCL_MOD_LIBDIRS
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-05 15:01:59 +09:00
dab0c01e73 removed MLIST by LPARCOLON
Some checks failed
continuous-integration/drone/push Build is failing
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'
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-02 13:59:03 +09:00
c82b56fdf6 enhanced the MLIST syntax - '(obj:message arg1 arg2)'
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-02 01:41:41 +09:00
caebe2c5a9 added hcl_unmarshalcodefrommem() and hcl_marshalcodetomem()
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-30 22:28:04 +09:00
007a6c6b48 added more code struct manipulation code
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-28 00:27:27 +09:00
ce4c583773 writing code exchange functions
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-27 09:09:40 +09:00
58d913e3da writing functions for bytecode and literal frame exchange with other vms
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-23 12:43:26 +09:00
5f91536a38 code cleanup
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-22 11:53:29 +09:00
2243a1357d added HCL_IO_READ_BYTES
Some checks failed
continuous-integration/drone/push Build is failing
added hcl_htonoow/hcl_ntohoow and the like
2023-12-16 00:31:50 +09:00
6ba0d3b345 simple code cleanup
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-09 14:01:03 +09:00
657c14fc93 minor typecasting change
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-08 18:36:23 +09:00
10189e60ce cleaned up some code
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-07 23:01:17 +09:00
af3abee6ca preparing to flatten byte code structure
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-06 17:19:57 +09:00
291a999c2a cleaned up code by removing migrating unused functions
Some checks failed
continuous-integration/drone/push Build is failing
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.
Some checks failed
continuous-integration/drone/push Build is failing
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-02 23:21:57 +09:00
0bf3bde497 making variable resolution more consisitent. class name resolution part still in progress
Some checks failed
continuous-integration/drone/push Build is failing
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-02 03:35:59 +09:00
70828ac110 updated the reader and the compiler to support self.var inside class definition
Some checks failed
continuous-integration/drone/push Build is failing
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-29 17:12:21 +09:00
bb4786b6ca some compiler enhancements
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-29 15:54:37 +09:00
57629478a1 some 'do' experiment
Some checks failed
continuous-integration/drone/push Build is failing
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-28 01:44:13 +09:00
f3c0c1b8c1 enhanced the compiler to prohibit variable declaration in class init scope
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-27 18:25:27 +09:00
eede341cfa added the WIP hcl-s2.c file
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-27 00:13:28 +09:00
e91dde6213 added some error check scripts
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-27 00:08:59 +09:00
3d47a99cd2 added many charcter handling code
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-22 00:24:57 +09:00
hyung-hwan
6a861d2db5 minor code clean-up
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-21 16:30:20 +09:00
3d85965b98 fixed a 128bit integer issue with va_arg
Some checks failed
continuous-integration/drone/push Build is failing
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-15 14:35:49 +09:00
84660b6e79 simplified the block expression checking in processing defun by calling the common checker function
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-15 09:58:02 +09:00
8085fb7725 changed class handling to check for the block expression if enabled
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-14 17:57:20 +09:00
4f8e7ae76e added the 'fun' symbol as an alias to 'lamba'
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-14 12:20:47 +09:00
65937937fb updated the compiler to check the block expression after if/elif/else/while/until more properly
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-14 00:31:50 +09:00
f42508731d added code to check if the body after if-condition or else is a block expression. work in progress
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-13 16:11:58 +09:00
8cb9178820 fixed many more issue in compiling block expressoins
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-12 21:54:17 +09:00
268eae3e53 updated comment text in read.c
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-12 00:31:34 +09:00
23610117d6 fixing various reader bug in the block mdoe
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-10 18:06:49 +09:00
889d5d90ae compiler fix to support the code block expression
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-10 02:59:41 +09:00
5a28ab3749 working on the block expression compilation
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-10 00:03:03 +09:00
9110a083eb some code to handle the auto-forged xlist beginning with no opening parenthesis but ending with a semicolon
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-08 19:05:24 +09:00
44fd446274 switched to use fgetc() instead of fread() because fread() doesn't stop when a new line is enountered. fgets() is not a good candidate either.
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-08 00:11:43 +09:00
d5c47e5a9a in progress implementing the block
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 21:23:00 +09:00
38e7d85312 removed unused variables and corrected flaws in error message conversion functions
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 20:18:06 +09:00
984c1f62a9 added the semicolon as a token and a delimiter
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 19:47:37 +09:00
d9e658dc4b some more naming changes
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 19:19:06 +09:00
20ddd12c89 renamed various names
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-05 22:31:33 +09:00
94a44f1fd7 separted the IO handlers to the source code handler and user stream handlers
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-05 16:58:45 +09:00
bcfe69feda yet another round of internal name changes
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-04 23:23:20 +09:00
238365e198 another round of internal name changes 2023-11-04 23:13:52 +09:00
df924338df internal name changes
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-04 22:58:31 +09:00
110cb0b767 renamed some variables
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-04 13:50:18 +09:00
428f67f25c added hcl_feedbchars()/hcl_feeduchars()
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-03 18:04:46 +09:00
7ccc1ce136 enhanced the go wrapper by adding more methods and cleaning up code
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-01 16:06:28 +09:00
801b5ea77f restructured some go wrapper files
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-29 21:40:05 +09:00
e5dc214a59 added hcl_copy_ucstr_to_bcstr(), hcl_copy_bcstr_to_ucstr(), hcl_errnum_to_errbcstr(), hcl_errnum_to_errucstr()
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-29 20:26:48 +09:00
2f9ed77452 added --enable-hclgo
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-27 18:26:24 +09:00
de94b4e66f added the go wrapper files. work in progress
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-27 18:20:02 +09:00
f19b971645 removed unneeded reader code.
All checks were successful
continuous-integration/drone/push Build is passing
changed { to #{ as a dictionary opener. { will be used as a block opener
2023-10-23 18:50:44 +09:00
ceaa977d12 fixed some undefined symbol issues
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-14 23:14:58 +09:00
fe2b9456f4 updated configure.ac to capture configure command and arguments
All checks were successful
continuous-integration/drone Build is passing
> used the captured info in bin/main.c
2023-10-08 00:51:07 +09:00
206df863cf removed hcl_read() and related code 2023-10-05 14:01:32 +09:00
a5d96cc6eb added HCL_IO_WRITE_BYTES
All checks were successful
continuous-integration/drone/push Build is passing
implemented it in the print handler
2023-06-01 00:30:41 +09:00
8514f0e590 enhanced add_literal in the compiler code to reduce duplicate string literals
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-30 01:14:49 +09:00
0845e12a93 added hcl_seterrumsg() and hcl_seterrbfmt() in case the caller can't use variadic arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-29 01:49:13 +09:00
ce47037b79 enhanced hcl_attachiostdwithbcstr() and hcl_attachiostdwithucstr()
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-19 23:25:50 +09:00
e2abfe07ab added .drone.yml
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-19 13:06:32 +09:00