Compare commits

..

719 Commits

Author SHA1 Message Date
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
209 changed files with 110513 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
hcl/ac/* linguist-generated=true
hcl/m4/* linguist-generated=true
h2/ac/* linguist-generated=true
h2/m4/* linguist-generated=true
h2/libltdl/* linguist-generated=true
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File

Some files were not shown because too many files have changed in this diff Show More