hyung-hwan
6cbe534eb0
some ada experiments...
2022-08-23 10:13:02 +00:00
hyung-hwan
3816a698ac
renamed included to includee
2022-08-22 04:30:35 +00:00
hyung-hwan
4d20d1948f
changed AC_CONFIG_HEADER to AC_CONFIG_HEADERS in configure.ac
2022-08-17 09:59:29 +00:00
hyung-hwan
fb7d87fb79
some code cleanup
2022-08-03 13:56:20 +00:00
hyung-hwan
c5a22e8c22
attempted to get rid of hcl_readbaseiochar()
2022-08-03 05:17:01 +00:00
hyung-hwan
1007ae50d7
renamed hcl_readchar() to chl_readbaseinchar().
...
changed its behavior to work on hcl->c->inarg only
fixed bugs in feed_begin_include() and feed_end_include()
fixed the bug for which the location information is not updated in reading an included file and feeding its content
2022-08-02 13:41:13 +00:00
hyung-hwan
33efcca8f9
fixed a bug in compile_do()
2022-08-01 06:31:33 +00:00
hyung-hwan
479e298105
some minor code touch-up
2022-07-31 13:17:44 +00:00
hyung-hwan
39710569c8
fixed a bug of not marking hcl->_undef in gc.c
2022-07-31 11:29:58 +00:00
hyung-hwan
f6167839f4
removed some unused variables in read.c
2022-07-31 04:18:09 +00:00
hyung-hwan
4c43544525
added a test case for vlist inside the 'do' expression inside a data list
2022-07-30 16:07:39 +00:00
hyung-hwan
33748749c1
enhanced vlist reading
2022-07-30 15:21:44 +00:00
hyung-hwan
f71b3c04be
fixed the vlist reading in the feed-based reader
2022-07-30 03:02:57 +00:00
hyung-hwan
b598a59e47
appended -x to the hcl test driver
2022-07-29 14:51:00 +00:00
hyung-hwan
726cd774e0
enhanced the feed_loop() in bin/main.c
2022-07-29 14:41:00 +00:00
hyung-hwan
ea2bfcf488
some minor code clean-up
2022-07-29 11:39:13 +00:00
hyung-hwan
675e9e3a5f
some more code for the feed-based reader
2022-07-29 11:29:47 +00:00
hyung-hwan
ac4c01338e
improved file inclusion for the feed-based reader
2022-07-28 14:20:28 +00:00
hyung-hwan
4c8403b876
coding include file handling in the feed-based reader
2022-07-28 14:07:18 +00:00
hyung-hwan
7b1b96913a
adding code to form an object in the feed-based reader
2022-07-26 15:06:53 +00:00
hyung-hwan
ce27ae2cf9
more code for the feed-based reader
2022-07-26 00:06:29 +00:00
hyung-hwan
d3759bacc8
enhanced the tokenization code to check for hash-marked directives better
2022-07-24 00:49:03 +00:00
hyung-hwan
58514a78f0
renamed some words
2022-07-23 14:06:46 +00:00
hyung-hwan
b321162bec
improved the hash-marked identifier handling in the feed-based reader
2022-07-23 10:09:36 +00:00
hyung-hwan
81c0d68218
updated the feed-based reader to handle hashmarked character literals
2022-07-23 06:57:01 +00:00
hyung-hwan
03a106d358
some work done for the feed based reader
2022-07-22 08:02:14 +00:00
hyung-hwan
67096674b0
changed AC_COMPILE_IFELSE to AC_TRY_LINK in checking __builtin_memXXX functions
2022-07-19 03:36:55 +00:00
hyung-hwan
4d88257f2e
changed AC_COMPILE_IFELSE to AC_TRY_LINK in checking __builtin_memXXX functions
2022-07-19 03:27:00 +00:00
hyung-hwan
ecdf8027bb
some changes to hcl-prv.h
2022-07-19 02:58:28 +00:00
hyung-hwan
60a191c6a9
deleted a debug message line
2022-07-18 13:59:45 +00:00
hyung-hwan
1f07702ccb
fixed a bug in hcl_feed()
2022-07-18 10:39:10 +00:00
hyung-hwan
f4f0608a84
updated the main hcl main loop to start implementing the feed-based reader
2022-07-18 10:28:36 +00:00
hyung-hwan
715ea7d5bc
implementing hcl_feed()
2022-05-25 14:23:43 +00:00
hyung-hwan
e80641e4a1
fixed some type warnings
2022-05-06 05:19:02 +00:00
hyung-hwan
1820f661c3
fixed a syntax error in var-01.hcl
2022-05-06 00:17:26 +00:00
hyung-hwan
11e35e8bfe
added test code for variadic arguments
2022-05-05 14:38:43 +00:00
hyung-hwan
0ce65cdedf
added more test code
2022-05-05 13:04:04 +00:00
hyung-hwan
22db0b27b8
added HCL_EUNDEFVAR
2022-05-05 04:03:56 +00:00
hyung-hwan
84a8b7223b
enhanced the do block handler to support the scoped local variables in the block
2022-05-03 14:43:12 +00:00
hyung-hwan
3aaf484f28
added t/insta-2.hcl
2022-03-22 14:45:56 +00:00
hyung-hwan
b3aad1024a
added the experimental plus opcode
2022-03-21 15:38:31 +00:00
hyung-hwan
5135e0b596
redefined block mask bits for 32-bit word platforms
2022-03-19 07:32:51 +00:00
hyung-hwan
bdf8056362
first successful implementation of class instantion methods
2022-03-17 13:22:17 +00:00
hyung-hwan
844f7e58a8
one line of comment in lib/comp.c
2022-03-14 00:01:07 +00:00
hyung-hwan
3447e59eca
minor error handling enhancement
2022-03-08 17:20:46 +00:00
hyung-hwan
1d62380e2f
fixed a test case
2022-03-06 15:57:01 +00:00
hyung-hwan
037c924abc
added a test case for non-local return
2022-03-06 00:39:13 +00:00
hyung-hwan
2ffefd8a1e
adding ac/test-driver
2022-03-06 00:38:10 +00:00
hyung-hwan
12cead54ce
changed the implementation of return-from-home to traverse the call chain and detect dead context more accurately
2022-03-04 18:08:26 +00:00
hyung-hwan
1858c0eadd
making return-from-home more rewind friendly
2022-02-28 16:08:44 +00:00
hyung-hwan
8a00be8513
fixing bugs related to stack, class stack, exceptio stack handling
2022-02-27 19:35:47 +00:00
hyung-hwan
8933313083
changed an error message
2022-02-24 17:25:15 +00:00
hyung-hwan
5d20796f4a
compiler enhancement in checking instance variable access in class methods
2022-02-24 17:16:02 +00:00
hyung-hwan
151c9e7227
trying to detect prohibited access to an instance vairables in a class method.
...
inventing the class instantiation method concept
2022-02-24 16:47:26 +00:00
hyung-hwan
35cae5f56c
proper return variables handling in message sends
2022-02-21 16:07:55 +00:00
hyung-hwan
739b9462b3
some testsuites enhancement
2022-02-21 15:22:22 +00:00
hyung-hwan
9e59e94a91
integrating test scripts
2022-02-21 08:15:00 +00:00
hyung-hwan
01e9eac123
enhanced the compiler to emit the right instruction for super
2022-02-19 17:26:26 +00:00
hyung-hwan
92d4bd5373
fixed wrong instructions generated for set-r and return variables.
...
class variables access fixed to use hcl->active_context->home->owner instead of hcl->active_context->owner
2022-02-19 16:57:06 +00:00
hyung-hwan
2195fc1d92
added the super keyword
2022-02-18 16:32:19 +00:00
hyung-hwan
8bc15dda67
simplified the class variable access by remembering the method owner class in context objects
2022-02-17 12:40:22 +00:00
hyung-hwan
9730c2abc0
meaningless interim commit
2022-02-14 01:21:01 +00:00
hyung-hwan
9230906786
added a class-side dictionary to the class object
2022-02-13 10:15:14 +00:00
hyung-hwan
fae6ea851b
wrote some code to process class method definition
2022-02-13 02:39:37 +00:00
hyung-hwan
74f45acade
adding class_cmstore and class_imstore. deleting class_mstore
2022-02-12 15:05:31 +00:00
hyung-hwan
fa28d8c74f
some more code clean-up
2022-02-08 14:00:45 +00:00
hyung-hwan
6fc1bd9f3b
some code clean-up
2022-02-08 13:57:48 +00:00
hyung-hwan
2431b1f6e8
fixed some type warnings
2022-02-08 12:01:57 +00:00
hyung-hwan
2bff114dd7
changed the object instantiation function to add up the instance variables counts of the superclass chain
2022-02-07 15:13:38 +00:00
hyung-hwan
82c05da5f0
implementing instance variable access with regards to inheritance
2022-02-06 16:06:48 +00:00
hyung-hwan
36204b16e8
removed an annoying comma in the syncode enumerator definition
2022-02-05 17:37:06 +00:00
hyung-hwan
52b445416d
added a new identifier - self
2022-02-05 17:35:10 +00:00
hyung-hwan
06af73fa74
attempting to touch up the context object
2022-02-03 00:57:36 +00:00
hyung-hwan
62a071658d
more code for message sending
2022-01-31 04:38:05 +00:00
hyung-hwan
abdfe202ac
renamed class_set to class_mstore
2022-01-31 01:36:59 +00:00
hyung-hwan
db60287e63
adding the class_set instruction
2022-01-29 17:43:11 +00:00
hyung-hwan
9552c0403a
writing message sending implementation code
2022-01-29 09:58:52 +00:00
hyung-hwan
3c2dd70b8b
more code added for message sending implementation
2022-01-25 07:54:11 +00:00
hyung-hwan
32a1a397d5
some code for message sending
2022-01-24 15:39:49 +00:00
hyung-hwan
be17a646e7
fixed %js handling in the formatting funtion
2022-01-24 07:39:43 +00:00
hyung-hwan
4264bf8413
implementing message sending
2022-01-23 16:46:13 +00:00
hyung-hwan
53294f53a9
rearranged the stack for the call operation by pushing a dummy receiver.
...
the rearrangement is done to make aa plain function call look the same as a message send
2022-01-22 15:40:38 +00:00
hyung-hwan
7ec3aed047
implementing a message sending list
2022-01-14 16:09:52 +00:00
hyung-hwan
6c9a890f68
writing the compiler code for class variable handling
2022-01-09 16:47:38 +00:00
hyung-hwan
9369596f83
utf8 range limiting.
...
compiler work for class variable access in the class defintion scope
2022-01-08 09:26:54 +00:00
hyung-hwan
fb7ae0e3f9
rewriting variable collection in a class
2022-01-04 15:26:17 +00:00
hyung-hwan
12863d61e6
removed a debugging message
2022-01-04 13:43:51 +00:00
hyung-hwan
926ebb15c1
touching up variable declaration handling in a class
2022-01-03 17:59:55 +00:00
hyung-hwan
adac0b0b75
added new instructions - push_clsvar, store_into_clsvar, pop_into_clsvar
2022-01-01 14:58:57 +00:00
hyung-hwan
a495ef5003
fixed the missing prototype defintion of hcl_instantiate()
2021-12-31 08:39:12 +00:00
hyung-hwan
e5f8891e41
minor update of an error message
2021-12-31 06:31:57 +00:00
hyung-hwan
b930278e02
working on object instanttiation
2021-12-27 23:12:36 +00:00
hyung-hwan
faae358f06
fixed yet another bug compiling a catch block
2021-12-26 16:37:54 +00:00
hyung-hwan
6ee32b1c80
fixed another bug compiling a catch block
2021-12-26 16:00:08 +00:00
hyung-hwan
1cf340c8b2
fixed a wrong compiler check in the post_catch() phase
2021-12-26 14:59:34 +00:00
hyung-hwan
93ea3c46ea
fixed process stack handling
2021-12-25 15:33:49 +00:00
hyung-hwan
3f5100460e
enhanced try_exit and try_exit2 to restore the class stack pointer
2021-12-24 14:59:16 +00:00
hyung-hwan
e0c0e176d8
changed do_throw() to clear the class stack when the exception is empty
2021-12-24 05:10:50 +00:00
hyung-hwan
f4360afa34
added 'class_push_exit'
...
enhanced the compiler to produce 'pop_stacktop' at the end of the class if the class body is not empty
2021-12-24 00:05:58 +00:00
hyung-hwan
b66eb3c7f5
some lines of compiler code
2021-12-12 16:09:31 +00:00
hyung-hwan
1fc6d0868b
a few lines of useless code
2021-12-11 15:57:06 +00:00
hyung-hwan
77f6939f31
some more code
2021-12-08 15:43:33 +00:00
hyung-hwan
f7d5599f2b
adding more experimental code
2021-12-05 16:13:36 +00:00
hyung-hwan
33bea5418e
adding Parse_Data record definition
2021-12-03 06:38:20 +00:00
hyung-hwan
1c90fff0dd
more parser code
2021-12-01 17:06:30 +00:00
hyung-hwan
d2a966f19b
more tokens in the lexer code
2021-11-28 17:00:17 +00:00
hyung-hwan
c59777405c
removed unneded trailing spaces in comp.c
2021-11-26 15:17:09 +00:00
hyung-hwan
de0dfdeaf9
trying to implement object instantiation
2021-11-26 14:55:50 +00:00
hyung-hwan
21d6f7db4a
removed an unneeded function
2021-11-24 14:08:25 +00:00
hyung-hwan
ea2f43b1b0
changed emit_variable_access()
2021-11-24 02:45:28 +00:00
hyung-hwan
e6f595ea8b
enhanced variable access code in comp.c
2021-11-23 15:52:01 +00:00
hyung-hwan
8c7014299c
improving find_variable_backward() to resolve instance variables
2021-11-23 14:42:20 +00:00
hyung-hwan
1d2a510f34
changing indexed variable access code
2021-11-23 02:37:58 +00:00
hyung-hwan
5845714bb7
fixed the wrong assertion in find_variable_backward() in comp.c
2021-11-21 16:16:59 +00:00
hyung-hwan
bcb0c052f8
improving the compiler code
2021-11-21 16:02:39 +00:00
hyung-hwan
ba81c10aaf
meaningless commit
2021-11-21 15:08:42 +00:00
hyung-hwan
cf096fc82b
changed the clean actions in Makefile
2021-11-17 01:59:59 +00:00
hyung-hwan
f5b56e8018
importing system.utf_32 as h3.utf_32. this needs to be redone with h3's own code
2021-11-17 01:56:49 +00:00
hyung-hwan
50c6b243f9
more structural parsing
2021-11-16 13:34:32 +00:00
hyung-hwan
5e40282416
experimenting include handling
2021-11-14 15:07:41 +00:00
hyung-hwan
bcba60f0b7
tackling #include
2021-11-12 23:31:25 +00:00
hyung-hwan
868ad3d38a
added utf8 functions
2021-11-07 17:32:50 +00:00
hyung-hwan
001115770d
changed to use the subpackaged rune symbols in the rune classification functions
2021-11-02 00:31:30 +00:00
hyung-hwan
714309e044
enhanced rune.hawk with the string conversion feature
2021-10-31 16:03:11 +00:00
hyung-hwan
c5b36d0678
added the rune code generator and data
2021-10-31 05:41:19 +00:00
hyung-hwan
3a541d2b3e
renamed H3.CC to H3.Runes
2021-10-30 05:32:16 +00:00
hyung-hwan
442d45fb9e
adding experimental changes
2021-10-30 01:57:19 +00:00
hyung-hwan
b7de031e72
some code clean-up
2021-10-27 16:16:36 +00:00
hyung-hwan
21c94d5ead
Is_Code in H3.CC.
...
Use Wide_Character'First instead of Wide_Character'Val(0)
Removed the terminator parameter in the H3.Strings
2021-10-27 15:34:30 +00:00
hyung-hwan
664c083373
null-terminated a string before passing to a C function
2021-10-16 15:19:10 +00:00
hyung-hwan
ef2f233f80
touched up experimental character classification functions
2021-10-16 11:42:42 +00:00
hyung-hwan
62dbee51b8
experimenting with character classes
2021-10-16 02:04:46 +00:00
hyung-hwan
c2cba622cd
experimenting with character classes
2021-10-16 02:04:24 +00:00
hyung-hwan
147b52e6ad
added the Find function in h3-arrays.adb
2021-10-06 17:30:12 +00:00
hyung-hwan
c48f34d79b
renamed Str to Obj
2021-10-06 08:05:21 +00:00
hyung-hwan
a1795920c7
added H3.Arrays.Find() that find a single item
2021-10-06 07:50:01 +00:00
hyung-hwan
3f3fb311cc
adding hello2.adb
2021-10-06 06:28:43 +00:00
hyung-hwan
e9b1239e53
ada experiments. tagged array in a generic package
2021-10-06 03:56:30 +00:00
hyung-hwan
4fd093da3e
fixed a buffer growth bug in Replace for Elastic_String
2021-10-03 16:53:13 +00:00
hyung-hwan
50760a4107
implemented some functions for Elastic_String
2021-10-03 15:38:31 +00:00
hyung-hwan
1311ea8253
ada experiments
2021-10-01 11:03:54 +00:00
hyung-hwan
3ec3a9a17e
some ada experiments
2021-09-30 23:54:50 +00:00
hyung-hwan
bb840abd99
fixed the "functions can only have "in" parameters" error
2021-08-24 16:19:29 +00:00
hyung-hwan
341cff809d
stopped using System.Atomic_Counters.Atomic_Counter
2021-08-24 16:07:29 +00:00
hyung-hwan
b4c05da4ec
removed unneeded text
2021-08-24 07:42:18 +00:00
hyung-hwan
4949f1bf6b
reference counting experiment in h3
2021-08-24 07:17:32 +00:00
hyung-hwan
0627ccce85
trying to rewrite h2
2021-08-23 23:47:29 +00:00
hyung-hwan
22d66523b5
minor spacing fix
2021-08-23 23:41:19 +00:00
hyung-hwan
727f2b7b36
deleted unneeded files
2021-08-21 14:51:38 +00:00
hyung-hwan
f875ede81c
reorganized h2
2021-08-21 14:31:39 +00:00
hyung-hwan
1829a9f0b2
fixed a minor typecasting flaw
2021-07-24 15:28:59 +00:00
hyung-hwan
be271b01ae
tabulated some data in bin/main.c
2021-07-19 19:23:18 +00:00
hyung-hwan
605794c793
added HCL_LOG_TARGET_BCS and HCL_LOG_TARGET_UCS
2021-07-19 18:59:17 +00:00
hyung-hwan
a3ee86e3de
reworked on HCL_LOG_TARGET
2021-07-19 07:11:41 +00:00
hyung-hwan
e78ca23876
work in progress
2021-06-29 11:51:08 +00:00
hyung-hwan
b57073b1bb
more code to implement class
2021-06-27 17:47:51 +00:00
hyung-hwan
e74a4efd29
fixed initialization of hcl->nil_process
...
got rid of HCL_CODE_MAKE_CLASS and merged its feature to HCL_CODE_CLASS_ENTER
2021-06-25 16:07:29 +00:00
hyung-hwan
2033072791
wrote more code to support classes
2021-06-25 15:19:11 +00:00
hyung-hwan
8a7ca4dcb1
added the class_enter and class_exit instructions - partially implemented yet
2021-06-19 17:19:24 +00:00
hyung-hwan
5232bcfc6c
changed compile_return() to cater for exception handling
2021-06-18 19:07:36 +00:00
hyung-hwan
4e84151b88
work in progress - enhancing compiler to support class definition
2021-06-18 18:54:50 +00:00
hyung-hwan
e168ee04de
experiment to convert an error from a primitive function to an exception
2021-06-18 07:10:38 +00:00
hyung-hwan
73942c5331
making a useless commit
2021-06-07 01:11:17 +00:00
hyung-hwan
417e5b50d6
wrote some comments
2021-06-02 16:28:34 +00:00
hyung-hwan
e2b50c68a4
more code to implement class
2021-06-01 09:50:35 +00:00
hyung-hwan
628846ff16
implementing defclass
2021-05-31 16:20:18 +00:00
hyung-hwan
470d8f38db
trying to change some code
2021-05-31 08:59:18 +00:00
hyung-hwan
e946330cbd
added some code to handle defclass
2021-05-29 05:44:29 +00:00
hyung-hwan
da53330eb4
minor indentation fix in std.c
2021-05-23 18:23:18 +00:00
hyung-hwan
d7a8485609
some code for class instantiation
2021-05-21 16:21:23 +00:00
hyung-hwan
98f47ed295
implementing make_class instructoin
2021-05-21 09:59:35 +00:00
hyung-hwan
6705423972
adding va-count, va-get, va-context for handling variable arguments
2021-05-16 10:32:27 +00:00
hyung-hwan
759a090284
added process termination primitives
2021-05-15 11:19:52 +00:00
hyung-hwan
a104f3ad5b
implemented multiple return values assignment with set-r
2021-05-15 05:31:36 +00:00
hyung-hwan
e1e96e6813
enhanced compile_return() to handle 'return' differently in a function block containing return variables
2021-05-13 15:54:30 +00:00
hyung-hwan
32405a46eb
some more code to support multiple return values via return variables
2021-05-13 14:43:40 +00:00
hyung-hwan
a67da34260
writing code for return variables support
2021-05-11 15:04:53 +00:00
hyung-hwan
5f7dc95f40
writing code to implement return variables
2021-05-09 15:32:54 +00:00
hyung-hwan
2cd3a0cc6e
enhancing the compiler to support the variable argument list with the ellipsis
2021-05-07 08:53:01 +00:00
hyung-hwan
775e5736ee
fixed issues related to the new make_block, make_function instruction scheme
2021-05-06 17:44:58 +00:00
hyung-hwan
26392cc729
fixing bugs
2021-05-06 14:47:37 +00:00
hyung-hwan
a3fba2a826
updating code to handle the new make_block, make_function scheme
2021-05-06 08:14:00 +00:00
hyung-hwan
1486795f15
fixing bugs introduced for block temporaries sheme
2021-05-05 17:37:26 +00:00
hyung-hwan
2f888200e8
changed the block temporaries scheme
2021-05-05 14:37:01 +00:00
hyung-hwan
2618dad287
changing the encoding scheme to store the block temporaries
2021-05-04 09:48:19 +00:00
hyung-hwan
5063c55bb4
trying to support variable arguments and return variables
2021-05-03 15:31:19 +00:00
hyung-hwan
910d1f1917
fixed a bug in prepare_new_context() and fork handling
2021-05-01 11:26:59 +00:00
hyung-hwan
5f25a9934a
removed two unused variables
2021-04-24 13:53:50 +00:00
hyung-hwan
041a6c1002
added hcl_compile_flag_t
2021-04-24 13:50:51 +00:00
hyung-hwan
2498fa8e4e
fixed a bug of not providing the number of temporaries when arraning the initial context
2021-04-23 15:46:35 +00:00
hyung-hwan
e95200c804
changed code for emit_indexed_variable_access()
2021-04-23 08:27:23 +00:00
hyung-hwan
f7416341b6
try-catching working in the top-level now. implemented a way to secure space for top-level temporary variables
2021-04-23 07:17:40 +00:00
hyung-hwan
60f8ac0c5f
coding the compiler to handle an exception variable in the catch part
2021-04-22 09:35:26 +00:00
hyung-hwan
2478de13fa
trying to implement the exception variable in catch
2021-04-22 00:00:12 +00:00
hyung-hwan
4dc1d9b584
fixed a flaw in collect_local_vardcl().
2021-04-20 16:17:15 +00:00
hyung-hwan
07cc5d6eba
removed a duplicate line
2021-04-20 14:11:00 +00:00
hyung-hwan
b7c03b44de
updated HCL_PROCESS_NAMED_INSTVARS 12 to 13
2021-04-20 13:45:22 +00:00
hyung-hwan
f72ed9f260
simplified code a bit
2021-04-18 18:02:02 +00:00
hyung-hwan
1970ffa32a
fixing code to implement exception handling
2021-04-14 16:20:18 +00:00
hyung-hwan
2030410184
working on try-catch implementation
2021-04-11 15:45:01 +00:00
hyung-hwan
32401bff58
reimplementing try-catch
2021-04-11 15:08:27 +00:00
hyung-hwan
35f3393bf5
improving function block and control block handling in the compiler code
2021-04-09 08:22:40 +00:00
hyung-hwan
1ee3716f59
committing broken interim code
2021-04-09 01:23:08 +00:00
hyung-hwan
e9814d98b4
more robust error handling in std.c
2021-03-30 06:13:46 +00:00
hyung-hwan
e33c79725d
added a few string formatting functions
2021-03-30 05:37:00 +00:00
hyung-hwan
7f77f87c29
attempted to emulate socketpair() where it's unavailable
2021-03-30 01:37:36 +00:00
hyung-hwan
1160926a32
added hcl_dupucstr(), hcl_dupbcstr()
2021-03-28 18:12:07 +00:00
hyung-hwan
0de8ae34d1
some more code cleanup
2021-03-28 03:44:27 +00:00
hyung-hwan
ef83e4f57b
minor code fixes
2021-03-27 10:32:23 +00:00
hyung-hwan
cf19ce54b9
fixed minor flaws in the code
2021-03-25 16:53:05 +00:00
hyung-hwan
5dd9e62ad0
added more code to implement simple exception handling
2021-03-02 15:58:13 +00:00
hyung-hwan
4f35e08f97
added some code for throw
2021-02-28 17:00:28 +00:00
hyung-hwan
b2600c2124
removed 'return' from where it's not needed
2021-02-28 06:43:22 +00:00
hyung-hwan
5d426f7646
added the flags field to the context object
2021-02-24 16:57:26 +00:00
hyung-hwan
61a2c8cd60
added the try_catch instruction
2021-02-22 14:56:27 +00:00
hyung-hwan
593b0ad98c
enhancing the compiler to support (try ... catch ...)
2021-02-22 09:20:45 +00:00
hyung-hwan
2eb5fd7824
trivial changes
2021-02-21 16:55:45 +00:00
hyung-hwan
6e2632119d
fixed some compiler bugs in processing weird if..elif..else expressions without body parts - (if true), (if false else), (if false elif true)
2021-02-18 15:48:44 +00:00
hyung-hwan
f306982e56
set the defailt logging mask to 0.
...
fixed wrong format specifiers in std.c
2021-02-11 14:14:49 +00:00
hyung-hwan
324293d626
fixed a bug in hcl_allocheap()
2021-02-11 09:35:38 +00:00
hyung-hwan
82624a2073
moved the heapsize parameter from hcl_open() to hcl_ignite()
2021-02-09 17:47:22 +00:00
hyung-hwan
431b7d17f3
touched up code a bit
2021-02-09 15:06:41 +00:00
hyung-hwan
21096b9d9e
allowed vmprim.alloc_heap() to create a bigger heap than requested.
...
enhanced the standard implementation(std.c) to attempt HUGETLB if the requested heap size is over 1/2 of the huge page size
2021-02-09 14:54:54 +00:00
hyung-hwan
7f510f51d0
removed unneeded code
2021-02-08 15:50:53 +00:00
hyung-hwan
1cfc1d1d37
removed cb-impl.c and cb-impl.h
2021-02-08 15:42:24 +00:00
hyung-hwan
27f75900a8
used hcl_openstdwithmmgr() in hcl-s.c and deleted unneeded code
2021-02-08 09:41:40 +00:00
hyung-hwan
b877a0a6d9
initialized the io multiplexer properly in cb_vm_startup()
2021-02-08 09:16:53 +00:00
hyung-hwan
afd6087694
added std.c
2021-02-07 17:58:23 +00:00
hyung-hwan
505b4a181b
adding hcl_openstd()
2021-02-07 17:57:35 +00:00
hyung-hwan
a37cd8acb7
added some semaphore handling code
2021-02-05 15:22:39 +00:00
hyung-hwan
8a3ff5abb1
preparing to implement semaphores
2021-02-03 14:50:51 +00:00
hyung-hwan
e4f5a310aa
fixed some process management code
2021-02-02 23:43:12 +00:00
hyung-hwan
9d1687ea62
fixed a flaw in post_lambda() in the compiler code
2021-02-01 13:26:48 +00:00
hyung-hwan
82d0c1ccca
fixed some compiler bugs
2021-02-01 13:20:46 +00:00
hyung-hwan
5149bd44b6
removed unneeded code
...
uniformize the naming of locptr, dbgl to dbgi
2021-02-01 03:32:09 +00:00
hyung-hwan
d06fc25ab9
enhanced the vm to supplement the error message with debug information
2021-01-31 18:46:13 +00:00
hyung-hwan
9c3c3569e2
removed some unneeded code.
...
changed the source input handler to set the name field for the main stream
2021-01-30 16:13:27 +00:00
hyung-hwan
bda1de2fee
cleaned up a bit
2021-01-29 17:24:13 +00:00
hyung-hwan
d3ad99a719
made enhancement to show location information for the ECALL runtime error
2021-01-29 12:39:31 +00:00
hyung-hwan
ea31979712
removed unneeded code
2021-01-29 09:41:39 +00:00
hyung-hwan
751671d849
renamed hcl_read2() and hcl_compile2() to hcl_read() and hcl_compile() respectively
2021-01-29 08:40:10 +00:00
hyung-hwan
13c64e9bf2
removed hcl_read() and hcl_compile().
...
in the next commit(), hcl_read2() and hcl_compile2() will get renamed to hcl_read() and hcl_compile() respectively
2021-01-29 08:35:31 +00:00
hyung-hwan
c4ba555fd0
enhanced the compiler to support (continue)
2021-01-29 08:13:18 +00:00
hyung-hwan
7d3df714a4
compiler enhancement in progress
2021-01-28 10:09:38 +00:00
hyung-hwan
35d04c658c
more compiler code to store source locations of byte codes emitted
2021-01-28 08:17:50 +00:00
hyung-hwan
3bb5598b67
more ongoing compiler enhancements
2021-01-28 07:25:05 +00:00
hyung-hwan
ab3a23ffd4
interim commit while enhancing the compiler
2021-01-27 16:11:56 +00:00
hyung-hwan
c744ec7b4f
enhanced the compiler a bit
2021-01-27 16:01:36 +00:00
hyung-hwan
27c243b650
changing compiler code to preserve some debugging information
2021-01-27 08:47:08 +00:00
hyung-hwan
2266a9cfb8
minor code change
2021-01-26 15:47:22 +00:00
hyung-hwan
aee64add9b
preparing to produce debug information
2021-01-26 10:10:18 +00:00
hyung-hwan
bfe629b373
fixed a wrong field name in cb-impl.c
2021-01-26 04:25:40 +00:00
hyung-hwan
be3302cbb9
fixed the reader and the compiler to process the a dic/array/byte-array item after a period in a data list properly
2021-01-25 15:23:24 +00:00
hyung-hwan
c0e5f965aa
fixed bugs in compile_symbol() and read_vlist()
2021-01-25 14:24:00 +00:00
hyung-hwan
b5fe1068d0
found a bug upon VM abortion. yet to fix it
2021-01-24 15:53:35 +00:00
hyung-hwan
4ec9395543
enhanced the new compiler to produce working bytecodes for the #() list
2021-01-24 15:45:28 +00:00
hyung-hwan
c30a8c6688
restored the module loading code in the new compiler. but this needs a total makeover
2021-01-22 15:07:47 +00:00
hyung-hwan
9c021aa36f
the new compiler is becoming usable. but not complete yet.
...
added more string copy functions
2021-01-22 14:43:47 +00:00
hyung-hwan
7dd8cc2abd
updated lambda/return/return-from-home compiling code in the new compiler
2021-01-21 14:59:01 +00:00
hyung-hwan
0fa279fa1c
yet implementing the new compiler
2021-01-19 14:07:42 +00:00
hyung-hwan
919ab8f57e
coding a better compiler
2021-01-17 17:45:39 +00:00
hyung-hwan
e85590e791
corrected clean-up actions in read_object() in read2.c
2021-01-16 08:23:52 +00:00
hyung-hwan
a42b50598a
experimenting with the new reader
2021-01-15 09:12:28 +00:00
hyung-hwan
877919afdd
modified code further to enhance the reader
2021-01-13 09:54:44 +00:00
hyung-hwan
3d6efc7f62
changing code for the new reader and compiler
2021-01-12 09:06:25 +00:00
hyung-hwan
0d3d8b466e
changing read2.c
2021-01-12 00:21:43 +00:00
hyung-hwan
5b046b232e
more code to implement a new object reader
2021-01-10 16:04:36 +00:00
hyung-hwan
3cbcf3b8ae
changing code to improve the compiler
2021-01-09 16:53:47 +00:00
hyung-hwan
09c2352666
changing code to improve the compiler
2021-01-09 16:53:35 +00:00
hyung-hwan
a8865a8a0b
attempting to preserve token location between the reader and the compiler
2021-01-06 09:37:29 +00:00
hyung-hwan
8f6afe0625
removed unneeded code
2021-01-03 17:58:57 +00:00
hyung-hwan
c193728e3f
adding some work-in-progress code to store debugging information for generated byte codes
2021-01-03 13:51:23 +00:00
hyung-hwan
78e76a8308
renamed --memsize to --heapsize in bin/main.c
...
allowed 0 as a heap size to indicate no use of xma
2021-01-01 07:34:21 +00:00
hyung-hwan
0ae149a010
fixed to reset hcl->sp before returning from hcl_execute()
2020-12-31 19:03:37 +00:00
hyung-hwan
ff7182001e
fixed an issue with an old compiler
2020-12-31 18:15:27 +00:00
hyung-hwan
b3baafcf2d
renamed some struct member names which have not been changed since changes in the main part
2020-12-31 18:02:58 +00:00
hyung-hwan
f68b80143a
switching GC from semi-space copying to mark-sweep
2020-12-31 17:48:47 +00:00
hyung-hwan
119bd17ce3
added xma.c
2020-12-28 17:03:29 +00:00
hyung-hwan
e757d66056
stop specifying explicit DEPENDENCIES by listing the .la files in LDADD/LIBADD
2020-11-16 13:07:15 +00:00
hyung-hwan
97885f9b24
added quadmath.h check to configure.ac
2020-11-15 10:32:34 +00:00
hyung-hwan
74e6511b9c
cleaned up code and build files
2020-11-15 10:26:14 +00:00
hyung-hwan
1fc06dac48
cleaned up build files
2020-11-15 09:56:06 +00:00
hyung-hwan
0efba23e8f
fixed an object protection mistake in hcl_divints()
2020-10-25 05:51:44 +00:00
hyung-hwan
d2f6e889db
minor whitespace removal from code
2020-10-15 13:47:52 +00:00
hyung-hwan
0ad4d378ee
Added some incomplete code for process-switching
2020-10-15 12:57:05 +00:00
hyung-hwan
17b582a5f2
removed irrelevant comments
2020-10-13 17:25:29 +00:00
hyung-hwan
2557809d64
removed the unneeded sp field from hcl_context_t
2020-10-13 17:20:01 +00:00
hyung-hwan
51f465e5fc
fixed non-local return behaviors
2020-10-13 14:44:00 +00:00
hyung-hwan
2f1abbe03e
working on return-from-home for non-local return
2020-10-10 17:36:33 +00:00
hyung-hwan
372c0e16ee
added hcl_block_t to express a base block. no more reuse of hcl_context_t for the base block
2020-10-09 07:14:32 +00:00
hyung-hwan
59da10458d
enhancing the compiler and hcl_execute() for better interactive use
2020-10-08 09:25:54 +00:00
hyung-hwan
a46914e9d0
fixing compiler bugs regarding MAKE_FUNCTION and literal frame rebasing
2020-10-07 08:06:49 +00:00
hyung-hwan
b35874d5d5
debugging the compiler
2020-10-06 09:40:39 +00:00
hyung-hwan
a0e9f16cf3
fixing more bugs..
2020-10-05 14:49:54 +00:00
hyung-hwan
5c30d44d15
writing code for function activation using function-local literal frame
2020-10-05 09:37:26 +00:00
hyung-hwan
5d6f6cdcc8
fixing types of some fields in hcl_context_t and hcl_function_t for clarity and consistency
2020-10-04 19:34:53 +00:00
hyung-hwan
a78454fd77
fixed a gc error not fixed in the previous commit
2020-10-04 19:07:21 +00:00
hyung-hwan
4d0f0e1f9e
changing vm implementation a bit. this commit is buggy
2020-10-04 18:21:05 +00:00
hyung-hwan
5b7b2c0dea
still experimenting to find a good way to represent byte codes and literal frames in the interactive mode
2020-09-28 15:44:04 +00:00
hyung-hwan
6c89ec1a9c
adding experimental changes for compiler enhancement
2020-09-24 08:24:47 +00:00
hyung-hwan
4d6b2f5dbf
experiments...
2020-09-22 09:19:53 +00:00
hyung-hwan
b35381ce2a
restored the lost code for 'J' in fmt.c
2020-09-21 08:34:08 +00:00
hyung-hwan
501d1277a8
adding some experimental code
2020-09-19 11:55:58 +00:00
hyung-hwan
5a69c03344
added hcl_add_ntime()/hcl_sub_ntime()
2020-09-03 06:21:01 +00:00
hyung-hwan
49625d87fd
removed unneeded substitutions in configure.ac
2020-08-19 05:10:22 +00:00
hyung-hwan
702fa3f382
changed --enable-unicode to --enable-wide-char in configure.ac and removed c++ stuffs
2020-08-18 03:03:45 +00:00
hyung-hwan
f6a585354c
changed ambiguous code in lib/fmt.c
2020-07-10 14:52:29 +00:00
hyung-hwan
c8f12e1ef8
updated ax_pthread.m4
2020-02-27 07:57:19 +00:00
hyung-hwan
7c61ddaa39
fixed wrong prefix output for %# in fmt.c
2019-11-24 08:06:06 +00:00
hyung-hwan
55d608bce1
added hcl_oocu_t, hcl_ucu_t, hcl_bcu_t
2019-11-19 13:59:24 +00:00
hyung-hwan
03e270a789
renamed hcl_getrbtstyle() to hcl_get_rbt_style()
2019-11-18 14:09:57 +00:00
hyung-hwan
213ae3a908
added HCL_BITSOF(x)
2019-09-26 05:24:13 +00:00
hyung-hwan
d2b583a605
added hcl_inttouintmax()/hcl_inttointmax()/hcl_uintmaxtoint()/hcl_intmaxtoint()
2019-08-13 07:15:12 +00:00
hyung-hwan
cfe729a19e
added static assertion macros
2019-08-06 03:08:36 +00:00
hyung-hwan
38554907cd
not useful macro trimming
2019-06-24 11:38:58 +00:00
hyung-hwan
732ac89cc2
not useful macro reordering
2019-06-24 11:36:07 +00:00
hyung-hwan
a20589ddf5
added the _instsize field to hcl_t, hcl_server_t, hcl_client_t
2019-06-21 12:36:25 +00:00
hyung-hwan
9d8831f2bb
fixed a bug and a typo introduced in the earlier commit of json.c
2019-06-15 05:31:29 +00:00
hyung-hwan
87b93b9f64
touched up json processor
2019-06-11 16:27:39 +00:00
hyung-hwan
77499205fd
fixed a buffer management bug in json.c
2019-06-11 15:07:29 +00:00
hyung-hwan
ceac040698
removed unused functions
2019-06-10 08:52:41 +00:00
hyung-hwan
2f0e7b253a
diverted w/W to k/K in format_stack_args() in the non-unicode mode
2019-06-02 15:58:12 +00:00
hyung-hwan
0f38aa8e70
fixed a flaw in print_ucs() in fmt.c
...
renamed ENABLE_HCLEX to ENABLE_HCLX
2019-06-02 06:42:47 +00:00
hyung-hwan
63143f721d
added hcl_prufmtv() and hcl_prbfmtv()
2019-06-02 05:06:08 +00:00
hyung-hwan
dfc2043d92
added fmt.c
2019-06-01 14:05:45 +00:00
hyung-hwan
4fc557e02a
refactored fmt code
2019-05-31 10:54:13 +00:00
hyung-hwan
73361ba5b2
added the bin directory and moves files for binary commands into it
2019-05-14 04:21:35 +00:00
hyung-hwan
fbdb084fec
refined the msb positioning functions
...
migrated hcl_isint()/hcl_isbigint() to hcl-prv.h
2019-05-04 17:56:45 +00:00
hyung-hwan
aa79aef5a8
added __cplusplus when determining inline availability
2019-05-03 08:42:52 +00:00
hyung-hwan
256a196839
enhanced hcl_bswap16/32/64()
2019-05-03 07:39:01 +00:00
hyung-hwan
249c0f3c42
refined some endian conversion macros with proper type casting
2019-05-03 03:20:10 +00:00
hyung-hwan
a37e19db8d
redefined endian conversion routines
2019-05-02 07:58:36 +00:00
hyung-hwan
8348b712db
enhanced sys.stime to use settimeofday if available
2019-04-17 06:28:18 +00:00
hyung-hwan
b776cccecf
fixed a flaw in configure.ac
2019-04-17 06:01:59 +00:00
hyung-hwan
4a4e188a5c
added --enable-full-liw to configure.ac
2019-04-17 05:51:36 +00:00
hyung-hwan
2b5c4d0c82
added hcl_flushio() and HCL_IO_FLUSH
2019-04-17 05:37:56 +00:00
hyung-hwan
8485b683d9
added sys.stime
2019-04-17 03:57:21 +00:00
hyung-hwan
90bde8d14a
added sys.time, sys.random, sys.srandom.
...
removed test-bi.sh
wrote a simple bigint test program into test-bi.hcl
2019-04-17 03:46:39 +00:00
hyung-hwan
0051809442
changed hcl_inttostr()
...
touched up log output and formatted output functions
2019-04-16 15:46:00 +00:00
hyung-hwan
b54102b705
added -v to hcl. found a bug of a new line printed when printf is called. need to debug it
2019-04-16 09:35:56 +00:00
hyung-hwan
97b27fb1d2
synchronized the bigint functions with moo
2019-04-16 09:06:30 +00:00
hyung-hwan
fd705112b9
added typecasting to some hcl_xxxx() macros
2019-04-13 01:02:20 +00:00
hyung-hwan
9186249cf2
optimized bigint division a bit
2019-03-25 13:01:05 +00:00
hyung-hwan
2b4c85a586
changed PUT_BYTE_IN_HEX()
2019-03-19 13:58:40 +00:00
hyung-hwan
ebe018d5dc
renamed inconsistent function names
2019-03-19 13:29:59 +00:00
hyung-hwan
11b9720a77
added hcl_byte_to_bcstr().
...
implemented k/K/w/W in the formatted output function
2019-03-18 15:37:07 +00:00
hyung-hwan
c788be6a4c
fixed wrong conditionals in hcl-utl.h
2019-03-07 12:54:23 +00:00
hyung-hwan
357cb80b0d
added section titles to hcl-utl.h
2019-03-06 01:57:06 +00:00
hyung-hwan
6632745618
redefined hash functions
2019-03-06 01:50:46 +00:00
hyung-hwan
46604f2787
fixed indentataion
2019-03-05 06:39:10 +00:00
hyung-hwan
66dbb4e027
changed hcl_hash_bytes() to use fnv-1 hash
2019-03-01 09:12:34 +00:00
hyung-hwan
fc183e19a4
changed hcl_hash_bytes() to sdbm hash
2019-03-01 07:51:53 +00:00
hyung-hwan
aab34cb83f
fixed a bug in bigint division
2019-02-20 17:38:56 +00:00
hyung-hwan
4f5dd0428f
added hcl_fill_uchars()/hcl_fill_bchars()
2019-02-18 17:18:21 +00:00
hyung-hwan
0c7771dd57
changed project url
2019-02-01 16:41:57 +00:00
hyung-hwan
22a9a2ec71
fixed a bug of not honoring precision specified with %.* in computing string length given for 's' and 'S'
2019-01-31 09:12:24 +00:00
hyung-hwan
43b27af7a3
set UNTYPED if no type is given in hcl_logbfmtv() and hcl_logufmtv()
2019-01-28 13:51:27 +00:00
hyung-hwan
04f2037030
corrected a minor coding flaw in number.c
2019-01-09 16:00:54 +00:00
hyung-hwan
6f070418dc
removed unnecessary restoration code in string_to_fpdec()
2019-01-08 08:57:37 +00:00
hyung-hwan
58f085697f
changed hcl_mulints() a little bit
2018-12-28 08:09:01 +00:00
hyung-hwan
38fdd2593f
fixed a gc bug in bigint.c
2018-12-27 15:46:31 +00:00
hyung-hwan
78d40f0420
fixed wrong capacity computation for hcl->inttostr.t and hcl->inttostr.xbuf in bigint.c
2018-12-20 14:12:36 +00:00
hyung-hwan
41cd561b21
fixed a bug in alloc_numeric_array() that allocated the extra 'len' bytes instead of a single extra 'unit' bytes
2018-12-10 09:26:34 +00:00
hyung-hwan
8763b0f640
fixed the wrong pfmod prefix in Makefile.am
2018-11-03 16:02:38 +00:00
hyung-hwan
3eb982fe12
updated some wrong prefix
2018-11-03 15:59:49 +00:00
hyung-hwan
d0a42cdfae
reorganized some callback functions into cb-impl.c
2018-11-03 15:57:14 +00:00
hyung-hwan
95d16191a7
interim commit while adding vmprim.assertfail
2018-11-03 14:05:37 +00:00
hyung-hwan
013f256eae
fixed the wrong unit used for interval passed to SetWaitableTimer()
2018-11-02 14:24:21 +00:00
hyung-hwan
86acc0112d
cleaned up some code
2018-11-02 14:15:28 +00:00
hyung-hwan
1360bd0a2c
renamed USE_MACH_O to USE_MACH_O_DYLD
2018-10-14 12:01:51 +00:00
hyung-hwan
61e3c006dd
enhanced strftime %z check
2018-10-14 10:37:15 +00:00
hyung-hwan
61b7dbcabd
added localtime_r check.
...
added SA_SIGINFO check
2018-10-14 10:28:28 +00:00
hyung-hwan
3bc1b3b95d
enhanced pfmod loading code
2018-10-14 10:13:24 +00:00
hyung-hwan
f3a81a2dfd
supported mach-o/dyld loader
2018-10-14 09:56:12 +00:00
hyung-hwan
6c10017616
added 2 lines of comments
2018-08-08 03:47:12 +00:00
hyung-hwan
fc8f97ecc0
removed unremoved code in the previous commit
2018-08-08 03:44:11 +00:00
hyung-hwan
fe27ae5d37
dropped cli-mode code. it turned out to be not effective
2018-08-08 03:41:17 +00:00
hyung-hwan
4f21abf7d5
Added a work file
2018-08-07 16:05:41 +00:00
hyung-hwan
b5f469f9b0
wrote more compiler mode to handle input in the cli mode
2018-08-07 11:04:38 +00:00
hyung-hwan
5e4b36bbe4
added more experimental code for the cli mode
2018-08-06 10:41:38 +00:00
hyung-hwan
aa745d21fd
fixed many bugs in cli mode reader
2018-08-05 18:46:54 +00:00
hyung-hwan
46344a78aa
enhanced the cli-mode reader a bit
2018-08-04 00:59:35 +00:00
hyung-hwan
01e8279ac6
added experimental code to execute an external command
2018-08-02 17:09:32 +00:00
hyung-hwan
a2d4d37d2e
add a bit of code into the cli mode reader
2018-07-31 15:51:16 +00:00
hyung-hwan
da36b2deab
hmm.. just a few lines of cli mode code
2018-07-30 15:37:03 +00:00
hyung-hwan
58e5f94ddf
added more code to read_object_in_cli_mode()
2018-07-29 08:01:43 +00:00
hyung-hwan
81e1a64966
started adding an new experimental reader
2018-07-29 07:27:10 +00:00
hyung-hwan
0f92c54f28
added hcl_getsynerrnum() and enhanced EOF handling
2018-07-28 04:08:09 +00:00
hyung-hwan
89ee3c7449
added some type castings and changed the type of two variables for iteration
2018-07-01 13:17:42 +00:00
hyung-hwan
f45e1ab52d
enhanced the __int128_t check with extra check against va_arg
2018-06-30 03:48:37 +00:00
hyung-hwan
6cffd16f13
changed the way to set/unset O_NONBLOCK & O_CLOEXEC
2018-06-29 06:27:38 +00:00
hyung-hwan
fc85cc72f8
fixed MOO_SMOOI_TO_OOP to pacify clang about the warning 'warning: shifting a negative signed value is undefined'
2018-05-28 09:49:32 +00:00
hyung-hwan
c8e775ff70
removed ctx2 & ctx3 from hcl_tmr_event_t
2018-05-03 06:14:10 +00:00
hyung-hwan
4152747c5f
fixed character handling in json.c
2018-04-26 09:31:15 +00:00
hyung-hwan
ea74760ecf
converted a unicode character to utf8 stream in the bch mode when handling \u or \U in json.c
2018-04-26 09:18:49 +00:00
hyung-hwan
8fe3a99e26
change to print header in backtrace
2018-04-26 06:36:49 +00:00
hyung-hwan
cae371f392
fixed the stack backtrace function
2018-04-26 06:35:43 +00:00
hyung-hwan
0c01b5af54
fixed a fault in libunwind support
2018-04-26 06:00:11 +00:00
hyung-hwan
b83d2bb501
added libunwind interface support for stack frame backtracing
2018-04-26 04:50:40 +00:00
hyung-hwan
3c54f5e860
introduced the new type hcl_bitmask_t
2018-04-26 04:39:20 +00:00
hyung-hwan
137e0294c1
changed to null-terminate the intermediate token all the time in json.c
2018-04-25 16:12:59 +00:00
hyung-hwan
41064600a0
changed to call lt_dlinit() and lt_dlexit() as necessary when libltdl is enabled
2018-04-25 04:12:13 +00:00
hyung-hwan
eb8691b5bd
added '\n' to is_spacechar()
2018-04-24 05:24:58 +00:00
hyung-hwan
7db51ee889
added to handle a character literal
2018-04-23 14:30:00 +00:00
hyung-hwan
9cbf9632ed
added more error checks
2018-04-23 09:40:26 +00:00
hyung-hwan
47c19cd2bd
finished wring a primitive standalone json parser
2018-04-23 09:16:27 +00:00
hyung-hwan
1f25d5c7ff
add some json parsing code
2018-04-22 18:18:45 +00:00
hyung-hwan
e39abb4996
renamed hcl_json_t to hcl_jsoner_t
2018-04-21 05:36:06 +00:00
hyung-hwan
69a0b1548b
added json related files
2018-04-21 02:13:53 +00:00
hyung-hwan
747efa798a
added hcl_setinloc() and called this on each .SCRIPT command received in the server
2018-04-12 02:50:37 +00:00
hyung-hwan
dd50e4a37f
enhanced the hcl server to write back an error message for input-phase errors
2018-04-12 02:22:17 +00:00
hyung-hwan
9e17b9e953
improved error message handling in hcl server
2018-04-11 09:44:29 +00:00
hyung-hwan
b9acbd1694
restructured client and server code into a single library libhclex.
...
also migrated socket related functions into the library
2018-04-10 13:57:17 +00:00
hyung-hwan
b7f6c61e5a
touched up an error message shown for an invalid hashed literal encountered whose first character after # is invalid
2018-04-10 10:10:50 +00:00
hyung-hwan
2d61defc88
exported hcl_server_proto_feed_reply()
2018-04-10 09:17:00 +00:00
hyung-hwan
15410a7958
added HCL_MOD_INCTX to hcl
...
added HCL_SERVER_MODULE_INCTX to hcl server
2018-04-09 15:54:54 +00:00
hyung-hwan
1c87ebc765
fixed an issue in logfmtv.h
2018-04-09 09:11:24 +00:00
hyung-hwan
3722986947
fixed tests in configure.ac
2018-04-09 06:24:08 +00:00
hyung-hwan
7c5bde98f1
fixed build files again
2018-04-09 06:11:57 +00:00
hyung-hwan
18f7b0d1ad
fixed build files
2018-04-09 05:36:32 +00:00
hyung-hwan
695105ac46
added some description about hcl exchange protocol
2018-04-09 03:06:52 +00:00
hyung-hwan
7b7da188b7
fixed missing short-form reply handling in lib/main-c.c
2018-04-09 02:42:05 +00:00
hyung-hwan
14b60e19db
renamed quo to div and added mdiv
2018-04-08 17:56:25 +00:00
hyung-hwan
35f3b671df
added the 'rem' and 'mod' primitive functions
2018-04-08 17:35:21 +00:00
hyung-hwan
fd3a812cf7
renamed some function names for naming consistency
2018-04-07 15:54:16 +00:00
hyung-hwan
e627fefbc4
added lambda? predicate
2018-04-07 15:21:05 +00:00
hyung-hwan
39da3d47fb
set salit.size to 0 forcibly in get_symbol_array_literal()
2018-04-07 15:09:02 +00:00
hyung-hwan
1df93d0be6
fixed an error handling issue in get_symbol_array_literal()
2018-04-07 06:28:54 +00:00
hyung-hwan
c76eb99472
added many type checking predicates
2018-04-07 04:43:56 +00:00
hyung-hwan
f0a823a557
added the abs primitive function
2018-04-07 02:28:38 +00:00
hyung-hwan
a332acdc4b
renamed some encoding functions for consistency
2018-04-06 16:33:17 +00:00
hyung-hwan
4f5bdd2ff6
udpated README.md
2018-04-06 15:29:34 +00:00
hyung-hwan
4e2f49853b
remove some spaces
2018-04-06 15:16:23 +00:00
hyung-hwan
d5942d9096
changed hcl_seterrxxx() functions not to set the errnum field again for failures in internal operations, especially in hcl_convxxx()
2018-04-06 14:59:44 +00:00
hyung-hwan
c8fd7b1c60
changed hcl_seterrxxx() functions
2018-04-06 14:37:40 +00:00
hyung-hwan
65be1f4daa
changed notation from #{} to #()
2018-04-06 14:21:47 +00:00
hyung-hwan
f6d1bdde66
fixed an issume of producing a wrong closing bracket for a dictionary objecT
2018-04-06 08:55:23 +00:00
hyung-hwan
2242dc9761
changed hcl to be more json friendly including changing various notations and grammars
2018-04-06 08:33:25 +00:00
hyung-hwan
e6c115e7f4
shortened bitwise-xxxx to bit-xxxx
2018-04-05 07:11:21 +00:00
hyung-hwan
39419f40f9
added primitive functions for bitwise operations on integers
2018-04-05 04:56:52 +00:00
hyung-hwan
8406ebd83a
implemented sqrt for fixed-point decimal.
...
fixed a bug in getting sqrt of a negative number
2018-04-04 04:41:23 +00:00
hyung-hwan
650606fd5b
added partial sqrt function
2018-04-03 14:02:40 +00:00
hyung-hwan
13b37499e7
added error messages in more places of bigint.c
2018-04-03 08:11:56 +00:00
hyung-hwan
7840a25709
fixed a sign check bug in bigint.c
2018-04-03 07:49:46 +00:00
hyung-hwan
00c78b2d53
fixed a bug and a wrong assertion in mul_nums()
2018-04-02 12:59:37 +00:00
hyung-hwan
c62ec3c6c9
added hcl_mltnums() which scales the result according to the first parameter
2018-04-02 12:52:10 +00:00
hyung-hwan
1091c8f401
added hcl_genums(), hcl_gtnums(), hcl_lenums(), hcl_ltnums(), hcl_eqnums(), hcl_nenums()
2018-04-02 12:28:09 +00:00
hyung-hwan
c382736be4
implemented %f for sprintf
2018-04-02 08:47:50 +00:00
hyung-hwan
ea1dc78a17
added hcl_truncfpdevcal().
...
fixed bugs in sprintf
2018-04-01 17:09:07 +00:00
hyung-hwan
81bafcf186
made code a bit win32 friendly
2018-03-31 07:10:43 +00:00
hyung-hwan
012d9ef678
enhanced the multiplication function to truncate the resulting fixed-point decimal to the equal precision to the operands
2018-03-30 18:11:11 +00:00
hyung-hwan
11c464fde4
disallowed fixed point decimal literal with no digit after the point.
...
fixed a bug in hcl_divnums
2018-03-30 17:37:40 +00:00
hyung-hwan
b9034225c1
implemented basic arithmetic operations for fixed-point decimals
2018-03-30 15:43:09 +00:00
hyung-hwan
d00ac6b0a0
fixed an escaping problem in printing a character or a string object
2018-03-29 04:47:03 +00:00
hyung-hwan
10ae33e0ea
fixed reply encoding in the unicode mode in the server
2018-03-29 03:08:43 +00:00
hyung-hwan
7515894082
started adding fpdec calculation functions
2018-03-28 16:40:42 +00:00
hyung-hwan
4648947ca0
implemented reading and printing of fixed-point decimal number. primitives yet to be written
2018-03-28 08:57:49 +00:00
hyung-hwan
f6dbaddb27
added neq? nql? nqk? for convenience over using not.
...
added >, >=, <, <=, =, /=
2018-03-28 03:15:20 +00:00
hyung-hwan
4ad5c38d29
added hcl_get_sockaddr_info()
2018-03-25 02:53:03 +00:00
hyung-hwan
3860805343
enhanced server's error handling a bit
2018-03-24 06:06:01 +00:00
hyung-hwan
c06a2227df
added more error checks
2018-03-23 10:02:08 +00:00
hyung-hwan
26e2cf1965
improved error handling in main-c.c
2018-03-23 02:51:38 +00:00
hyung-hwan
f345b834d0
checked O_CLOEXEC availablity
2018-03-22 09:53:16 +00:00
hyung-hwan
676595fbf2
changed the server code to support multiple listening addresses
2018-03-22 09:46:44 +00:00
hyung-hwan
ad85c3d26a
implemented simple idle timeout on the server.
...
added --shutwr to the sample client code
2018-03-22 07:15:19 +00:00
hyung-hwan
b6c306b93d
improved the client sample code a bit
2018-03-22 06:08:44 +00:00
hyung-hwan
fd48707fdc
fixed a bug in main-c.c
2018-03-22 04:31:18 +00:00
hyung-hwan
5d703257ca
moved the socket address convertion functions to the main hcl library
...
enhanced the client library and samples
2018-03-22 03:42:17 +00:00
hyung-hwan
61798f7bb3
touched up hcl client code
2018-03-21 15:17:46 +00:00
hyung-hwan
1951cb3c82
added reply handler
2018-03-21 10:38:10 +00:00
hyung-hwan
e36ef48e3a
added more client code
2018-03-20 14:54:32 +00:00
hyung-hwan
a109b0f035
added some hcl client code
2018-03-20 10:36:00 +00:00
hyung-hwan
5d7189301f
fixed a bug in the default log callback
2018-03-19 09:50:56 +00:00
hyung-hwan
b8ca47f7f9
exposed hcl_addbuiltinprims().
2018-03-19 09:22:12 +00:00
hyung-hwan
e4006e6a88
started some code for hcl client
2018-03-18 15:29:16 +00:00
hyung-hwan
7db7e3e48f
renamed main2.c to main-s.c
...
started adding client code
2018-03-17 16:07:51 +00:00
hyung-hwan
8aeeff3d93
fixed a logmask handling issue
2018-03-17 11:57:02 +00:00
hyung-hwan
d49acb6d30
updated the readme file a bit
2018-03-17 07:31:24 +00:00
hyung-hwan
76e3d328e8
enhanced the inclusion path handling in the sample hcl server code
...
added HCL_SERVER_SCRIPT_INCLUDE_PATH
added optstate field in hcl_server_worker_t
2018-03-17 05:44:40 +00:00
hyung-hwan
9ad4eda80e
added the used field to hcl_server_wid_map_data_t
...
started implementing .SHOW-WORKERS and .KILL-WORKER
2018-03-16 17:27:24 +00:00
hyung-hwan
6bd1650d50
enhanced the log_write callback to use as few write system calls as possible.
...
changed the hcl server to raise an error if .SCRIPT is not followed by actual script text on the same line
2018-03-16 16:20:40 +00:00
hyung-hwan
059e36ebd7
Added HCL_SERVER_WORKER_MAX_COUNT
...
changed the main server loop to purge dead clients as soon as the multiplex is finished
2018-03-16 14:57:34 +00:00
hyung-hwan
fc3fe73b1f
enhanced the hcl server code to assign an ID to each worker created
2018-03-16 05:56:05 +00:00
hyung-hwan
908503ac69
fixed the hcl server to apply some settings to underlying hcl
2018-03-16 01:46:59 +00:00
hyung-hwan
4b7649ea67
added the empty hcl-c.h and hcl-c.c files
2018-03-15 15:27:34 +00:00
hyung-hwan
272bb6797e
enhanced the hcl server implementation further while fixing a couple bugs too
2018-03-15 15:23:51 +00:00
hyung-hwan
b8c4ab0f8d
implemented actor_max_runtime primitively using timer events
2018-03-15 10:30:06 +00:00
hyung-hwan
6806c2bd30
added timer functions
2018-03-15 08:35:38 +00:00
hyung-hwan
7e69b36ad0
enhanced the error handling of address conversion failure
2018-03-14 15:01:07 +00:00
hyung-hwan
9810b5faa8
enclosed the value of a macro in parenthesis
2018-03-14 14:56:15 +00:00
hyung-hwan
a71736ef2b
fixed a potential in set_err_with_syserr in hcl-s.c
2018-03-14 14:54:10 +00:00
hyung-hwan
38edf4f8e9
cleaned up code a bit
2018-03-14 14:46:23 +00:00
hyung-hwan
7371618c5b
exported hcl_seterrbfmtv(), hcl_seterrufmtv()
...
added hcl_server_seterrbfmt(), hcl_server_seterrufmt(), hcl_server_seterrbfmtv(), hcl_server_seterrufmtv()
added socket address conversion functions
2018-03-14 14:40:05 +00:00
hyung-hwan
f05303fe01
added .DATA to the chunked output
2018-03-14 10:39:36 +00:00
hyung-hwan
d8499cc3a9
put the hcl server code into a library
2018-03-14 10:14:38 +00:00
hyung-hwan
07db14b8d0
added hcl-s.c and hcl-s.h
2018-03-13 10:20:50 +00:00
hyung-hwan
449ac10b9c
moving code in main2.c to hcl-s.c
2018-03-13 10:20:33 +00:00
hyung-hwan
7e12c96e0c
speeded up termination
...
added functions to manipulate server options
2018-03-13 02:02:25 +00:00
hyung-hwan
68fe9fc891
exported hcl_conv_ucs_to_bcs_with_cmgr() and similar functions
...
enhanced the sample server program
2018-03-12 16:45:42 +00:00
hyung-hwan
44df07c1e8
Added partial sample program to accept requests over a socket
2018-03-12 10:39:13 +00:00
hyung-hwan
4056b96a0f
removed a duplicate macro definition in hcl-prv.h
2018-03-11 17:08:02 +00:00
hyung-hwan
873bc033b5
added hcl_getip(), hcl_getbclen(), hcl_getlflen()
...
renamed vm_checkpoint to vm_checkbc while adding a new parameter
2018-03-11 11:16:28 +00:00
hyung-hwan
2d63035d4e
added a sample line commented out
2018-03-11 03:12:38 +00:00
hyung-hwan
fac203eecd
changed the position of abortion check
2018-03-11 03:05:42 +00:00
hyung-hwan
4443f9cdc2
added hcl_abort()
...
taken out vm_startup and vm_cleanup from hcl_vmprim_t and moved them to hcl_cb_t
2018-03-10 17:53:44 +00:00
hyung-hwan
31c3e4b21e
fixed return types of io handlers in main.c
2018-03-09 05:12:55 +00:00
hyung-hwan
a322f0bc38
changed the hcl_ioimpl_t prototype to return 'int' instead of 'hcl_ooi_t'.
...
changed the io arguments to have a new 'xlen' field that holds the result of IO operations where 0 means end of stream
2018-03-09 05:05:09 +00:00
hyung-hwan
e5499cda1b
renamed hcl_purgeatdic() to hcl_zapatdic()
...
exposed hcl_moveoop()
extended the meaning of the kernel bits in the object flags
extended hcl_pfbase_t to include the type - one of HCL_PFBASE_FUNC, HCL_PFBASE_VAR, HCL_PFBASE_CONST. HCL_PFBASE_CONST not fully implemented yet
2018-03-08 14:18:30 +00:00
hyung-hwan
03d0dcfa76
work in progress to add the hcl_purgeatdic() function
2018-03-08 10:00:57 +00:00
hyung-hwan
1e2e955ca0
changed the default value of --enable-libltdl to no
2018-03-07 07:54:24 +00:00
hyung-hwan
48bbbdd152
updated the build files to utilize the standalone libltdl library if available
2018-03-07 07:50:28 +00:00
hyung-hwan
b14799ebf2
changed configure.ac to reset DL_LIBS if it's set to 'none required'
2018-03-05 04:39:57 +00:00
hyung-hwan
743a3b2b53
added mmap/munmap check to configure.ac
2018-03-05 04:08:11 +00:00
hyung-hwan
e83dcc0828
changed the notatin of an error literal from #\eNNN to #eNNN.
...
changed the notation of a smptr literal from #\pXXXX to #pXXXX
2018-03-05 03:47:18 +00:00
hyung-hwan
d1ce53cb45
implemented the builtin primitive function sprintf
2018-03-05 03:35:44 +00:00
hyung-hwan
0957c28854
exported hcl_readchar() and hcl_unreadchar()
2018-03-04 14:43:23 +00:00
hyung-hwan
92da5dd5a1
enhanced the compiler to implement short-circuited logical 'and' and 'or' special forms.
...
renamed the primitive function 'and' to '_and' and 'or' to '_or'
2018-03-03 17:16:41 +00:00
hyung-hwan
a938e7a964
added a new special word and and or. compiler yet to be enhanced
2018-03-03 03:28:10 +00:00
hyung-hwan
5a423b5adc
fixed the wrong word output for #nil in the json format
2018-03-02 07:58:37 +00:00
hyung-hwan
15453eb0f7
added HCL_LOG_PREFER_JSON and implemented %J
2018-03-02 07:44:13 +00:00
hyung-hwan
83a0d3ea37
fixed a compilation issue about MMAP_HUGETLB
2018-03-02 02:09:41 +00:00
hyung-hwan
b93fd3dc98
fixed print_formatted() to use hcl_outfmtobj() instead of hcl_print().
...
added 2 new optional callbacks - vmprim.alloc_heap and vmprim.free_heap
2018-03-01 14:47:12 +00:00
hyung-hwan
bc6c14808f
added the logf builtin function
2018-03-01 09:46:02 +00:00
hyung-hwan
48cb2bb1ba
fixed a bug printing %% in print_formatted.
...
changed to use #x #o #b for hexadecimal, octal, binary output
2018-03-01 08:56:56 +00:00
hyung-hwan
a8feaff918
removed unused lines
2018-03-01 05:27:17 +00:00
hyung-hwan
191162d3cb
touched up various remaining implementation details of the printf builtin function.
2018-03-01 05:25:09 +00:00
hyung-hwan
5a61ea7bdb
enhanced hcl_inttostr() to accept a negative radix to produce lower-case alphabetic digits
2018-02-28 15:57:19 +00:00
hyung-hwan
f747c1d2ed
removed unneeded code
2018-02-28 10:23:08 +00:00
hyung-hwan
cc0227a15b
fixed a bug in printing a single character when hcl_ooch_t is hcl_bch_t
...
implemented the primitive printf function partially
2018-02-28 10:17:05 +00:00
hyung-hwan
0bc28e7b60
changed the format of accepted values by --enable-unicode
2018-02-28 07:33:13 +00:00
hyung-hwan
dc14ead9d7
fixed a wrong index used when getting the mod pointer into/from the prim object
2018-02-28 05:04:42 +00:00
hyung-hwan
8bcade7a2e
changed the prototype of hcl_pfimpl_t to accept a hcl_mod_t* pointer
2018-02-28 04:52:01 +00:00
hyung-hwan
9c6ce5df9c
changed types of some variables from hcl_oow_t to hcl_ooi_t
...
attempted to add the builtin printf function
2018-02-26 15:52:15 +00:00
hyung-hwan
b97e2da6af
enhanced the logfmtv to handle encoding conversion of the format string
2018-02-26 15:24:45 +00:00
hyung-hwan
5f9a5bc9c6
changed a wrong function name from hcl_logoofmt to hcl_logufmt
...
enhanced the log formatter routine a bit
2018-02-26 10:49:31 +00:00
hyung-hwan
967aa97dc8
work in progress to implement the builtin printf function
2018-02-24 04:01:19 +00:00
hyung-hwan
0a0c0d0dc0
fixed a compiler bug that didn't check the number of arguments to a primitive function properly when no parameter was given
2018-02-24 01:28:58 +00:00
hyung-hwan
54630857b3
added some comments
2018-02-23 08:50:18 +00:00
hyung-hwan
fb66acc5a4
enhanced HCL_BRANDOF() to avoid multiple comparisons.
...
added the eqk? builtin primitive
removed unnecessary lines
2018-02-23 07:17:23 +00:00
hyung-hwan
75526643de
got rid of hcl_getlastretv() but let hcl_execute() and hcl_executefromip() to return the returnv value
2018-02-22 12:57:31 +00:00
hyung-hwan
fa3d527bd9
changed the reader to use a stack of 4-item arrays instead of chains of 3 cons cells
...
cleaned up some unused code
2018-02-22 10:02:39 +00:00
hyung-hwan
a7fcf50a89
added hcl_getlastretv().
...
enhanced hcl_hashobj() to return hash values for nil, true, false
2018-02-22 07:41:03 +00:00
hyung-hwan
20cf176de8
added more error immunity check for the log_write callback
2018-02-22 04:44:21 +00:00
hyung-hwan
09af995779
made hcl immune to an error number/message set in the log_write callback
2018-02-22 04:35:55 +00:00
hyung-hwan
4b0d4b3ab4
enhanced pf_log to print a character without quotes.
...
fixed formatting specifiers in log_char_object() in prim.c
2018-02-21 13:13:25 +00:00
hyung-hwan
39bbd8a2a0
added a new debugging macro HCL_DEBUG_LEXER
...
removed the debugging macro HCL_DBEUG_BIGINT
2018-02-21 13:02:05 +00:00
hyung-hwan
d0a9385c74
enhanced --enable-unicode to accept ucs4 and ucs2 in addition to yes/no.
...
redefined the moo_uch_t type to follow the enable-unicode value
2018-02-21 10:12:47 +00:00
hyung-hwan
81fd56e34d
deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE
2018-02-21 09:30:18 +00:00
hyung-hwan
345b36ded4
localized a local variable into a loop in PUT_OOCH and PUT_OOCS in logfmtv
2018-02-21 08:54:13 +00:00
hyung-hwan
b48de34ebc
fixed the premature termination issue in logfmtv
2018-02-21 08:48:47 +00:00
hyung-hwan
b661dcb0f4
changed the wrong field name when HCL_OOCH_IS_BCH
2018-02-21 07:54:38 +00:00
hyung-hwan
ab8d276a9b
cleaned up code a bit
2018-02-21 07:38:59 +00:00
hyung-hwan
ad0534a18e
added --enable-unicode to configure.ac
...
cleaned up unnecessary code
2018-02-21 07:37:10 +00:00
hyung-hwan
e1bf0c6570
more error checks
2018-02-20 14:53:12 +00:00
hyung-hwan
524f938a1f
changed the main loop a little bit
2018-02-20 14:10:09 +00:00
hyung-hwan
e757c7598d
removed NDEBUG enclosing karatsuba_cutoff
2018-02-20 10:27:11 +00:00
hyung-hwan
2bbb4262e4
made hcl_inttooow() and hcl_oowtoint() public
2018-02-19 16:17:46 +00:00
hyung-hwan
b22d72e254
added arr.size
2018-02-19 16:14:22 +00:00
hyung-hwan
d5d661a6fb
added arr.put
2018-02-19 10:03:02 +00:00
hyung-hwan
c46f319397
added linguist rules into .gitattributes
2018-02-18 16:15:49 +00:00
hyung-hwan
261e51a5c7
added the empty .gitattributes files
2018-02-18 16:15:12 +00:00
hyung-hwan
aa1312914b
added the gc builtin function
2018-02-18 15:02:57 +00:00
hyung-hwan
46731890c9
Added dic.put
2018-02-17 17:01:48 +00:00
hyung-hwan
2851d9177e
deleted redundant files
2018-02-17 16:50:07 +00:00
hyung-hwan
a82e3d4cf8
change dic.get to return an error code upon search failure
2018-02-17 16:45:17 +00:00
hyung-hwan
8432b45d2c
deleted unneeded code
2018-02-17 16:09:44 +00:00
hyung-hwan
810803db08
added some error checks for error literals and smptr literals
2018-02-17 16:01:27 +00:00
hyung-hwan
c6e6fb497d
implemented the single quote character literal.
...
added the error literal and the smptr literal notations and types
2018-02-17 15:42:12 +00:00
hyung-hwan
a29e4a3edc
added some builtin modules, but without many functions in them
2018-02-15 15:36:15 +00:00
hyung-hwan
e62ad1e471
enhanced hcl_inttostr() to keep results in the temporary buffer when ngc is negative.
...
changed the integer printing function to utilize this change in print.c
2018-02-15 08:05:48 +00:00
hyung-hwan
763d8dddb2
fixed to use hcl-wide temporary buffers when converting an integer to a string
2018-02-15 06:58:36 +00:00
hyung-hwan
7ca201d1a9
added reader & compiler check to filter out special symbols when processing argument and variable names in more contexts
2018-02-15 01:39:00 +00:00
hyung-hwan
d254630b14
fixed the wrong buggy argument to hcl_decode() in main.c
2018-02-13 16:19:16 +00:00
hyung-hwan
f054f4eaae
integrated bigint
...
cleaned up code
2018-02-13 16:10:41 +00:00
hyung-hwan
a8352ce3f5
adjusted bigint code
2018-02-13 11:48:16 +00:00
hyung-hwan
48743e6abe
changed mod_test to mod_fake_test. this will eventually be removed
2018-02-13 02:30:06 +00:00
hyung-hwan
56786973a0
removed duplicate hcl_t definition
2018-02-13 02:26:37 +00:00
hyung-hwan
350359f469
added hcl_walkdic
...
fixed a bug of not printing the list closer properly in hcl_print().
enhanced error handling
2018-02-12 16:51:38 +00:00
hyung-hwan
8492bb8bd9
mapped a dotted identifer to a primitive function
2018-02-12 10:50:44 +00:00
hyung-hwan
0d3ef9fa34
fixed the way to drive hcl in main.c
2018-02-09 17:15:31 +00:00
hyung-hwan
2601ef0541
implemented (do ...)
2018-02-09 16:10:29 +00:00
hyung-hwan
e4906731ae
implemented defun as a shortcut to (set xxxx (lambda () ..))
2018-02-09 15:27:02 +00:00
hyung-hwan
6dfbd16871
improved error messsages
2018-02-09 15:04:18 +00:00
hyung-hwan
bc7c7ab4dc
added some error messsages
2018-02-09 04:27:24 +00:00
hyung-hwan
46602c4511
renamed prim to pf.
...
added module manipulation functions
2018-02-09 04:24:50 +00:00
hyung-hwan
a8969a53f3
added -ldl to the build process
2018-02-09 04:02:17 +00:00
hyung-hwan
1457d91215
added dl_xxx vm primtiives
2018-02-09 03:48:30 +00:00
hyung-hwan
876fed4ecd
fixed header includsion in main.c
2018-02-09 01:13:11 +00:00
hyung-hwan
679b3dd7a0
set default type mask in moo_compile() and moo_executefromip().
...
changed the main program a little bit
2018-02-08 15:04:07 +00:00
hyung-hwan
acf0681876
regenerated build files
2018-02-08 14:44:06 +00:00
hyung-hwan
b6b8b3e7cb
added more vm primitives
2018-02-08 14:40:56 +00:00
hyung-hwan
7d17b59603
added hcl_executefromip()
2018-02-08 10:33:59 +00:00
hyung-hwan
dbb66ebaf0
added the id field to process
2018-02-08 09:21:18 +00:00
hyung-hwan
9270dfa0e7
touched up code. added eqv? eql? not
2018-02-08 07:40:27 +00:00
hyung-hwan
a8729532bb
changed copyright years
2018-02-07 14:13:13 +00:00
hyung-hwan
839bef7b36
added bytearray compilation code
2018-02-07 13:55:22 +00:00
hyung-hwan
b747b4e23a
implemented dictionary printing
2018-02-07 10:55:20 +00:00
hyung-hwan
adc7e89ca7
enhanced the compiler to handle array enclosed in #().
...
added partial code to handle dictionary enclosed in #{}
2018-02-07 07:35:30 +00:00
hyung-hwan
77f4e53a77
added partial code for HCL_CODE_MAKE_DICTIONARY, HCL_CODE_MAKE_ARRAY, etc
2018-02-06 13:52:58 +00:00
hyung-hwan
ddfc163c37
changed the reader to handle #(), #[], #{}, '() specially
2018-02-06 10:16:01 +00:00
hyung-hwan
0adbd2291e
added printing routines
2018-02-05 15:59:32 +00:00
hyung-hwan
71a10e09c6
trying to revive this project
2018-02-05 10:43:25 +00:00
hyung-hwan
2b0fe94701
fixed a bug in logfmt.c
2016-11-21 12:39:38 +00:00
hyung-hwan
3645e05f0d
fixed a logfmt bug
2016-11-09 15:50:41 +00:00
hyung-hwan
4f98e27d42
added some primitive functions
2016-10-25 13:44:38 +00:00
hyung-hwan
e3664565a2
implemented elif handling and changed the compiler to eliminate some unecessary expressions
2016-10-19 17:31:29 +00:00
hyung-hwan
d99ff64fad
implemented else handling
2016-10-18 17:00:35 +00:00
hyung-hwan
0ecdc29ac1
started the if handling
2016-10-15 08:49:27 +00:00
hyung-hwan
2ae17b870b
prevented a syncoded symbol from being used as a variable/argument name
2016-10-13 09:48:32 +00:00
hyung-hwan
84f2ebeae4
improved break handling further
2016-10-13 07:41:10 +00:00
hyung-hwan
4dd470e47f
in the course of adding break
2016-10-12 09:54:07 +00:00
hyung-hwan
5c92919c6a
added the until loop
2016-10-12 07:30:54 +00:00
hyung-hwan
eddf0f7925
handled the while loop almost in full
2016-10-11 10:29:37 +00:00
hyung-hwan
11660267e2
added some code to handle while
2016-10-10 11:36:24 +00:00
hyung-hwan
dc34bd05e5
refactored comp.c a bit
2016-10-08 17:22:48 +00:00
hyung-hwan
f9a8451fe6
added _uint128_t check
2016-10-07 14:46:05 +00:00
hyung-hwan
a675d56dad
fixed an argument passing handling bug
2016-10-06 18:17:52 +00:00
hyung-hwan
dc2b007550
added some code to handle primitives and the call instruction
2016-10-06 17:49:47 +00:00
hyung-hwan
070cead567
added some code for executing byte codes
2016-10-04 17:56:28 +00:00
hyung-hwan
3092c6c17c
added some code to handle local variable declaration
2016-10-01 04:36:48 +00:00
hyung-hwan
d9d1cd2fc9
did something on temporary variable and argument handling
2016-09-29 13:20:09 +00:00
hyung-hwan
1d0d05c665
added hcl-cfg.h.in
2016-09-28 14:41:27 +00:00
hyung-hwan
256efdb134
added initial hcl files
2016-09-28 14:40:37 +00:00
hyung-hwan
16ca4d4f22
created the hcl directory
2016-09-28 14:35:15 +00:00
hyung-hwan
46c78776ac
added missing include files
2015-09-01 12:15:18 +00:00
hyung-hwan
d039ac262d
added some sample scheme scripts
2015-09-01 12:14:35 +00:00
hyung-hwan
44ea1de0bc
add some more types
2014-07-02 15:44:35 +00:00
hyung-hwan
fafd1eb21f
under dramatic changes...
2014-07-02 14:29:01 +00:00
hyung-hwan
efc55863f4
Added a missing file
2014-06-21 16:33:31 +00:00
hyung-hwan
27cb59b41b
improved h2-io-file a bit
2014-06-21 16:31:49 +00:00
hyung-hwan
31d4fb952d
removed unneeded procedures
2014-06-19 14:15:01 +00:00
hyung-hwan
83fde716e4
added File.Get_Line and File.Put_Line. rewritten io procedures to reply on the current and the last position instead of the length
2014-06-19 14:13:19 +00:00
hyung-hwan
f0eee1313f
added Get_Line into h2-io-file
2014-06-17 15:23:35 +00:00
hyung-hwan
02e5292089
implemented read/write/read_line/write_line/flush in h2-io-file.adb
2014-06-06 16:44:45 +00:00
hyung-hwan
230a547dc0
implemented some functions h2-io-file.
...
renamed h2-sysapi to h2-os
2014-06-05 15:26:37 +00:00
hyung-hwan
ef50de7e0f
added some file io routines
2014-06-04 17:15:52 +00:00
hyung-hwan
60666651c2
added some file constants
2014-06-02 15:25:42 +00:00
hyung-hwan
feb6537003
fixed gpr files
2014-05-30 03:20:24 +00:00
hyung-hwan
d4aad8f0ee
added an incomplete and experimental file package
2014-05-30 03:15:40 +00:00
hyung-hwan
cb9505272a
added H2.Slim and Slim_Stream.
...
renamed Stream to Wide_Stream.
2014-03-26 14:28:41 +00:00
hyung-hwan
3c5c0a547d
fixed an overflow check bug
2014-03-26 07:43:34 +00:00
hyung-hwan
2b9c176db0
aalmost finished string-to-bigint conversion
2014-03-25 16:43:46 +00:00
hyung-hwan
f2913efdb8
added the incomplete string-to-bigint conversion procedure
2014-03-09 18:01:38 +00:00
hyung-hwan
733fb70952
changed bigint division algorithm and finished the primitive bigint.to_string function
2014-03-07 17:58:01 +00:00
hyung-hwan
4e7f1ce8e4
fixed bigint division bugs and added incomplete bigint-to-string conversion function
2014-03-05 18:06:54 +00:00
hyung-hwan
6d94c9b515
touched bigint
2014-03-04 14:32:49 +00:00
hyung-hwan
a8627af4bf
added partial bigint divide
2014-03-03 15:36:03 +00:00
hyung-hwan
ca3108ebd9
fixedd bigint bugs
2014-02-25 16:10:46 +00:00
hyung-hwan
af45b8431e
added bigint multiplication
2014-02-24 15:17:57 +00:00
hyung-hwan
1b24692695
added more bigint code
2014-02-23 16:57:31 +00:00
hyung-hwan
a9bd93d6f4
added some bigint code
2014-02-21 16:08:43 +00:00
hyung-hwan
262d29f262
started adding bigint
2014-02-20 14:51:53 +00:00
hyung-hwan
e3bc1dc448
finished initial implementation of 'do'
2014-02-18 14:07:41 +00:00
hyung-hwan
8edf7372cf
added more code for 'do'
2014-02-17 15:11:00 +00:00
hyung-hwan
c4e23f71f3
implemented syntax checking of 'do'
2014-02-17 09:22:36 +00:00
hyung-hwan
ef4be8f3e5
added some essential procedures
2014-02-16 15:02:04 +00:00
hyung-hwan
4db0011a5f
fixed a comparison between a normal object and a special pointer
2014-02-15 03:41:37 +00:00
hyung-hwan
7c8a363631
implemented 'case'
2014-02-14 15:47:10 +00:00
hyung-hwan
98cb15e5d9
implemented the define syntax of the form (define (f x y) ...)
2014-02-11 16:05:30 +00:00
hyung-hwan
3e7c4547b1
touched evaluator code
2014-02-11 09:35:44 +00:00
hyung-hwan
3e6e44cacc
implemented cond
2014-02-10 15:39:20 +00:00
hyung-hwan
c0e533339a
added some query procedures
2014-02-10 08:33:18 +00:00
hyung-hwan
9024a9be81
made let* continuation-friendly
2014-02-09 17:20:59 +00:00
hyung-hwan
6043559aaf
made let and letrec continuation-friendly
2014-02-09 15:28:46 +00:00
hyung-hwan
f84e05566e
fixed bugs in and/or handlers
2014-02-08 03:53:53 +00:00
hyung-hwan
ed4f37d47c
made 'if' and 'define' continuation-friendly
2014-02-07 16:25:38 +00:00
hyung-hwan
1c00ec53b1
fixed a bug that the token buffer points to null if an empty string is the first token scanned.
...
fixed a bug of not getting a correct number of bytes allocated for an object when scanning a new heap
2014-02-07 09:04:46 +00:00
hyung-hwan
188c64e56f
switched some pointer overlays to unchecked conversion for the buggy gnat 3.15p
2014-02-07 05:22:41 +00:00
hyung-hwan
acfadc2854
removed unneeded lines
2014-02-06 13:36:56 +00:00
hyung-hwan
edbf56939b
fixed Procedure_Call handlers for proper continuation (not sure if this is a proper fix).
...
fixed bugs caused by conflicts between an 'in out' parameter and GC.
shortened Pop_Frame()/Set_Frame_Result() to Return_Frame()
2014-02-06 13:29:08 +00:00
hyung-hwan
0848e5be51
revised the reader code according to the previous rame change
2014-02-06 03:28:14 +00:00
hyung-hwan
9dda06b909
addded a new slot to hold an intermediate value to a frame object.
...
made partial changes relevant
2014-02-05 15:08:59 +00:00
hyung-hwan
794ddca903
deleted the mark object
2014-02-05 03:21:25 +00:00
hyung-hwan
21744e7f36
deleted unneeded functions
2014-02-01 15:59:36 +00:00
hyung-hwan
ec2dda7899
redefined Opcode_Type to enumeration
2014-01-29 02:30:50 +00:00
hyung-hwan
ff9ab83844
repaired broken let, letast, letrec handling
2014-01-28 17:03:52 +00:00
hyung-hwan
a6320b76b8
changed implementation of procedure call and grouped call.
...
still struggling with call-with-current-continuation
2014-01-28 15:42:28 +00:00
hyung-hwan
141627d7be
started implementing call-with-current-continuation
2014-01-26 16:15:28 +00:00
hyung-hwan
84f0951549
implemented letrec and corrected let and let*
2014-01-26 14:58:02 +00:00
hyung-hwan
fcdfd4cde7
fixed a bug of not updating the frame to the new environment when apply a closure
2014-01-24 13:57:06 +00:00
hyung-hwan
15ff09019a
got rid of Interp.Environment and enhanced how to handle environments
2014-01-24 12:48:58 +00:00
hyung-hwan
18fbe149ad
implemented let*
2014-01-24 07:58:46 +00:00
hyung-hwan
dde3988b68
fixed a bug of not reversing binding values in handling 'let'
2014-01-23 15:34:06 +00:00
hyung-hwan
ec9f789cc6
implemented let
2014-01-23 15:18:47 +00:00
hyung-hwan
d67a0c6d1f
implemented and and or
2014-01-23 13:41:41 +00:00
hyung-hwan
f77340167c
fixed Set_Environment
2014-01-22 15:01:58 +00:00
hyung-hwan
f4aebf2cd6
added numeric comparison procedures
2014-01-22 14:11:30 +00:00
hyung-hwan
647b8e2d91
started implementing let
2014-01-21 14:55:08 +00:00
hyung-hwan
5dd886b04f
enhanced checks in lambda processing
2014-01-21 10:12:15 +00:00
hyung-hwan
11a98fe067
enhanced lambda processing
2014-01-21 05:08:46 +00:00
hyung-hwan
4197fa41ff
implemented set!
2014-01-20 15:47:08 +00:00
hyung-hwan
75863951ef
implemented if
2014-01-20 14:34:55 +00:00
hyung-hwan
9a32d5485b
implemented symbol defining
2014-01-19 15:47:45 +00:00
hyung-hwan
5fd00968e6
implemented a few list manipulation procedures
2014-01-19 06:40:23 +00:00
hyung-hwan
5df2592627
added H2.Wide.
...
did some makefile experiments
2014-01-17 14:15:08 +00:00
hyung-hwan
77164465dd
fixed a GC bug caused by a temporary object pointer pointing to the symbol table
2014-01-17 13:03:05 +00:00
hyung-hwan
bf2818a56c
in the middle of debugging GC
2014-01-16 16:52:18 +00:00
hyung-hwan
7a80455258
added code to handle temporary object pointers
2014-01-15 09:21:26 +00:00
hyung-hwan
967f70fd34
added Unicode_To_Utf8 converter
2014-01-14 14:22:06 +00:00
hyung-hwan
fefd6af36b
touched up code a bit
2014-01-11 03:38:02 +00:00
hyung-hwan
78136a66cf
redefined Object_String for simpler string handling and made other related changes
2014-01-10 14:54:46 +00:00
hyung-hwan
36bb4d7b7d
changed the style of h2-ascii.ads and made related changes
2014-01-10 08:12:40 +00:00
hyung-hwan
87bebc0fdb
managed to change h2-scheme to a generic package
2014-01-09 15:32:36 +00:00
hyung-hwan
8f2efa17f8
added quote, simple integer handling
2014-01-08 14:59:48 +00:00
hyung-hwan
8604315e61
added code to read cdr
2014-01-08 07:18:14 +00:00
hyung-hwan
bf19d65eed
written more code for reading expressions
2014-01-07 17:02:12 +00:00
hyung-hwan
b010085d67
separated token handling to a separate file
2014-01-04 06:31:14 +00:00
hyung-hwan
dd8a477013
added Buffer_Record, Token_Record and related procedures
2014-01-02 16:28:18 +00:00
hyung-hwan
30990c3aa8
added some input procedures
2014-01-01 14:07:03 +00:00
hyung-hwan
3721e3c1a6
added experimental stream handling code
2013-12-28 16:52:31 +00:00
hyung-hwan
de981a1706
added some lambda/closure handling code
2013-12-21 04:57:44 +00:00
hyung-hwan
5bef24e8ec
added No_Optimization
2013-12-19 14:42:14 +00:00
hyung-hwan
6f267a832a
added experimental c-wrapper code
2013-12-19 14:36:14 +00:00
hyung-hwan
aab8abfb3a
added some code for handling 'begin'
2013-12-19 13:54:47 +00:00
hyung-hwan
3c3d0e16a7
added more code for evaluation
2013-12-18 14:58:46 +00:00
hyung-hwan
d02c6ccb32
added some code to evaluate
2013-12-17 16:04:55 +00:00
hyung-hwan
5665af01ba
renamed Copy_Object to Copy_Object_With_Size
2013-12-11 16:30:56 +00:00
hyung-hwan
9cb26d641f
added Self to Interpreter_Record
2013-12-11 15:40:57 +00:00
hyung-hwan
034b50ec9b
added initial files
2013-12-10 16:14:06 +00:00