Commit Graph

452 Commits

Author SHA1 Message Date
fbbdb6188e fixed bugs in compile_symbol() and read_vlist() 2021-01-25 14:24:00 +00:00
581b13aedd found a bug upon VM abortion. yet to fix it 2021-01-24 15:53:35 +00:00
41de130fe4 enhanced the new compiler to produce working bytecodes for the #() list 2021-01-24 15:45:28 +00:00
f3315811ed restored the module loading code in the new compiler. but this needs a total makeover 2021-01-22 15:07:47 +00:00
51e347889d the new compiler is becoming usable. but not complete yet.
added more string copy functions
2021-01-22 14:43:47 +00:00
58165aad49 updated lambda/return/return-from-home compiling code in the new compiler 2021-01-21 14:59:01 +00:00
16557a970c yet implementing the new compiler 2021-01-19 14:07:42 +00:00
e4ae7add8b coding a better compiler 2021-01-17 17:45:39 +00:00
58ec16aa0a corrected clean-up actions in read_object() in read2.c 2021-01-16 08:23:52 +00:00
b327791484 experimenting with the new reader 2021-01-15 09:12:28 +00:00
554667b227 modified code further to enhance the reader 2021-01-13 09:54:44 +00:00
9752533d12 changing code for the new reader and compiler 2021-01-12 09:06:25 +00:00
ad4c8e35d4 changing read2.c 2021-01-12 00:21:43 +00:00
963f162c4e more code to implement a new object reader 2021-01-10 16:04:36 +00:00
8936bb5bec changing code to improve the compiler 2021-01-09 16:53:47 +00:00
5d05984664 changing code to improve the compiler 2021-01-09 16:53:35 +00:00
24b96e4c29 attempting to preserve token location between the reader and the compiler 2021-01-06 09:37:29 +00:00
75ecff7aca removed unneeded code 2021-01-03 17:58:57 +00:00
6720640ed7 adding some work-in-progress code to store debugging information for generated byte codes 2021-01-03 13:51:23 +00:00
1828b4f29b fixed to reset hcl->sp before returning from hcl_execute() 2020-12-31 19:03:37 +00:00
c6145a2302 fixed an issue with an old compiler 2020-12-31 18:15:27 +00:00
42688f26ce renamed some struct member names which have not been changed since changes in the main part 2020-12-31 18:02:58 +00:00
11e831bbcc switching GC from semi-space copying to mark-sweep 2020-12-31 17:48:47 +00:00
fbb7ce853a added xma.c 2020-12-28 17:03:29 +00:00
5f771b6035 stop specifying explicit DEPENDENCIES by listing the .la files in LDADD/LIBADD 2020-11-16 13:07:15 +00:00
6b094588d5 added quadmath.h check to configure.ac 2020-11-15 10:32:34 +00:00
656e0150a9 cleaned up code and build files 2020-11-15 10:26:14 +00:00
0823ddc2d0 cleaned up build files 2020-11-15 09:56:06 +00:00
966888844b fixed an object protection mistake in hcl_divints() 2020-10-25 05:51:44 +00:00
164be69b9d minor whitespace removal from code 2020-10-15 13:47:52 +00:00
852543ee19 Added some incomplete code for process-switching 2020-10-15 12:57:05 +00:00
d02bf34322 removed irrelevant comments 2020-10-13 17:25:29 +00:00
27edbfdb91 removed the unneeded sp field from hcl_context_t 2020-10-13 17:20:01 +00:00
adb374f02d fixed non-local return behaviors 2020-10-13 14:44:00 +00:00
b9f78f7c13 working on return-from-home for non-local return 2020-10-10 17:36:33 +00:00
d127456da8 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
a69434a96f enhancing the compiler and hcl_execute() for better interactive use 2020-10-08 09:25:54 +00:00
9d5e580387 fixing compiler bugs regarding MAKE_FUNCTION and literal frame rebasing 2020-10-07 08:06:49 +00:00
0ffb5b239d debugging the compiler 2020-10-06 09:40:39 +00:00
dcae55ab70 fixing more bugs.. 2020-10-05 14:49:54 +00:00
e30cbc844c writing code for function activation using function-local literal frame 2020-10-05 09:37:26 +00:00
a28553b195 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
1b07957718 fixed a gc error not fixed in the previous commit 2020-10-04 19:07:21 +00:00
2b786018d7 changing vm implementation a bit. this commit is buggy 2020-10-04 18:21:05 +00:00
c7e87698d0 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
b9ae46afff adding experimental changes for compiler enhancement 2020-09-24 08:24:47 +00:00
b8fd5c6712 experiments... 2020-09-22 09:19:53 +00:00
bfba16a757 restored the lost code for 'J' in fmt.c 2020-09-21 08:34:08 +00:00
e6be071a54 adding some experimental code 2020-09-19 11:55:58 +00:00
e8ac460f59 added hcl_add_ntime()/hcl_sub_ntime() 2020-09-03 06:21:01 +00:00
52aa942508 removed unneeded substitutions in configure.ac 2020-08-19 05:10:22 +00:00
1fc6f09909 changed --enable-unicode to --enable-wide-char in configure.ac and removed c++ stuffs 2020-08-18 03:03:45 +00:00
64b8a5b1ef changed ambiguous code in lib/fmt.c 2020-07-10 14:52:29 +00:00
51b52ca844 updated ax_pthread.m4 2020-02-27 07:57:19 +00:00
8af190ac46 fixed wrong prefix output for %# in fmt.c 2019-11-24 08:06:06 +00:00
6ba4cedd4a added hcl_oocu_t, hcl_ucu_t, hcl_bcu_t 2019-11-19 13:59:24 +00:00
9b2f40c282 renamed hcl_getrbtstyle() to hcl_get_rbt_style() 2019-11-18 14:09:57 +00:00
8b96d6fc0f added HCL_BITSOF(x) 2019-09-26 05:24:13 +00:00
d53151a080 added hcl_inttouintmax()/hcl_inttointmax()/hcl_uintmaxtoint()/hcl_intmaxtoint() 2019-08-13 07:15:12 +00:00
947dd4c5d3 added static assertion macros 2019-08-06 03:08:36 +00:00
21ec6f6c5f not useful macro trimming 2019-06-24 11:38:58 +00:00
705aaea0cc not useful macro reordering 2019-06-24 11:36:07 +00:00
e27058d771 added the _instsize field to hcl_t, hcl_server_t, hcl_client_t 2019-06-21 12:36:25 +00:00
ff685bac79 fixed a bug and a typo introduced in the earlier commit of json.c 2019-06-15 05:31:29 +00:00
7462427af4 touched up json processor 2019-06-11 16:27:39 +00:00
3af707bc07 fixed a buffer management bug in json.c 2019-06-11 15:07:29 +00:00
02042b5e47 removed unused functions 2019-06-10 08:52:41 +00:00
19bba8d7e4 diverted w/W to k/K in format_stack_args() in the non-unicode mode 2019-06-02 15:58:12 +00:00
20fb7f54b7 fixed a flaw in print_ucs() in fmt.c
renamed ENABLE_HCLEX to ENABLE_HCLX
2019-06-02 06:42:47 +00:00
16c7c290ce added hcl_prufmtv() and hcl_prbfmtv() 2019-06-02 05:06:08 +00:00
77f8047af8 added fmt.c 2019-06-01 14:05:45 +00:00
a161944682 refactored fmt code 2019-05-31 10:54:13 +00:00
4ce47cb435 added the bin directory and moves files for binary commands into it 2019-05-14 04:21:35 +00:00
6e5a92a041 refined the msb positioning functions
migrated hcl_isint()/hcl_isbigint() to hcl-prv.h
2019-05-04 17:56:45 +00:00
a58f9e47b0 added __cplusplus when determining inline availability 2019-05-03 08:42:52 +00:00
727865dcc5 enhanced hcl_bswap16/32/64() 2019-05-03 07:39:01 +00:00
882ca9358c refined some endian conversion macros with proper type casting 2019-05-03 03:20:10 +00:00
c3359bac1d redefined endian conversion routines 2019-05-02 07:58:36 +00:00
2255d894b0 added --enable-full-liw to configure.ac 2019-04-17 05:51:36 +00:00
0cbf9e4edf added hcl_flushio() and HCL_IO_FLUSH 2019-04-17 05:37:56 +00:00
2d9f5b51ad 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
9045220ef8 changed hcl_inttostr()
touched up log output and formatted output functions
2019-04-16 15:46:00 +00:00
dc3c393247 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
7f7a2685d0 synchronized the bigint functions with moo 2019-04-16 09:06:30 +00:00
49ba5ed881 added typecasting to some hcl_xxxx() macros 2019-04-13 01:02:20 +00:00
b14668d3d5 optimized bigint division a bit 2019-03-25 13:01:05 +00:00
346f3c35f9 changed PUT_BYTE_IN_HEX() 2019-03-19 13:58:40 +00:00
02c468bd1f renamed inconsistent function names 2019-03-19 13:29:59 +00:00
1a6aaf1831 added hcl_byte_to_bcstr().
implemented k/K/w/W in the formatted output function
2019-03-18 15:37:07 +00:00
258567dca9 fixed wrong conditionals in hcl-utl.h 2019-03-07 12:54:23 +00:00
4e4ac37dec added section titles to hcl-utl.h 2019-03-06 01:57:06 +00:00
fd99432186 redefined hash functions 2019-03-06 01:50:46 +00:00
ad985e3862 fixed indentataion 2019-03-05 06:39:10 +00:00
947f6080d1 changed hcl_hash_bytes() to use fnv-1 hash 2019-03-01 09:12:34 +00:00
d75b34126e changed hcl_hash_bytes() to sdbm hash 2019-03-01 07:51:53 +00:00
2b14218a43 fixed a bug in bigint division 2019-02-20 17:38:56 +00:00
b39ce631b3 added hcl_fill_uchars()/hcl_fill_bchars() 2019-02-18 17:18:21 +00:00
fe81119228 changed project url 2019-02-01 16:41:57 +00:00
8994e67067 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
6cdec68b01 set UNTYPED if no type is given in hcl_logbfmtv() and hcl_logufmtv() 2019-01-28 13:51:27 +00:00
1fa0d684bc corrected a minor coding flaw in number.c 2019-01-09 16:00:54 +00:00
0011937699 removed unnecessary restoration code in string_to_fpdec() 2019-01-08 08:57:37 +00:00
de44f7e57c changed hcl_mulints() a little bit 2018-12-28 08:09:01 +00:00
c447bde889 fixed a gc bug in bigint.c 2018-12-27 15:46:31 +00:00
985ec11cae fixed wrong capacity computation for hcl->inttostr.t and hcl->inttostr.xbuf in bigint.c 2018-12-20 14:12:36 +00:00
e935ba7221 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
46405428f3 fixed the wrong pfmod prefix in Makefile.am 2018-11-03 16:02:38 +00:00
1a60b897f1 updated some wrong prefix 2018-11-03 15:59:49 +00:00
140682dfc4 reorganized some callback functions into cb-impl.c 2018-11-03 15:57:14 +00:00
8537f8a67f interim commit while adding vmprim.assertfail 2018-11-03 14:05:37 +00:00
4e1ad5b5b0 fixed the wrong unit used for interval passed to SetWaitableTimer() 2018-11-02 14:24:21 +00:00
7f0428d288 cleaned up some code 2018-11-02 14:15:28 +00:00
19d39ca20a renamed USE_MACH_O to USE_MACH_O_DYLD 2018-10-14 12:01:51 +00:00
7001dfa037 added localtime_r check.
added SA_SIGINFO check
2018-10-14 10:28:28 +00:00
9e72cb1ca3 enhanced pfmod loading code 2018-10-14 10:13:24 +00:00
8459db3adc supported mach-o/dyld loader 2018-10-14 09:56:12 +00:00
2aaff1b317 added 2 lines of comments 2018-08-08 03:47:12 +00:00
d7f2458ed0 removed unremoved code in the previous commit 2018-08-08 03:44:11 +00:00
9a186711e4 dropped cli-mode code. it turned out to be not effective 2018-08-08 03:41:17 +00:00
f87ebd527e Added a work file 2018-08-07 16:05:41 +00:00
28cc69ea21 wrote more compiler mode to handle input in the cli mode 2018-08-07 11:04:38 +00:00
fe28d23307 added more experimental code for the cli mode 2018-08-06 10:41:38 +00:00
256472b2ea fixed many bugs in cli mode reader 2018-08-05 18:46:54 +00:00
0634bf26b3 enhanced the cli-mode reader a bit 2018-08-04 00:59:35 +00:00
25243fc7af added experimental code to execute an external command 2018-08-02 17:09:32 +00:00
f90adb468e add a bit of code into the cli mode reader 2018-07-31 15:51:16 +00:00
d5eb6a85e5 hmm.. just a few lines of cli mode code 2018-07-30 15:37:03 +00:00
9e3ddd1e2c added more code to read_object_in_cli_mode() 2018-07-29 08:01:43 +00:00
8c4b56002d started adding an new experimental reader 2018-07-29 07:27:10 +00:00
1b59610444 added hcl_getsynerrnum() and enhanced EOF handling 2018-07-28 04:08:09 +00:00
4280387771 added some type castings and changed the type of two variables for iteration 2018-07-01 13:17:42 +00:00
34e5508881 changed the way to set/unset O_NONBLOCK & O_CLOEXEC 2018-06-29 06:27:38 +00:00
1d6951f22d 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
af709feb96 removed ctx2 & ctx3 from hcl_tmr_event_t 2018-05-03 06:14:10 +00:00
5bbe3470fd fixed character handling in json.c 2018-04-26 09:31:15 +00:00
b0d302baec 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
baae283222 change to print header in backtrace 2018-04-26 06:36:49 +00:00
71da060d29 fixed the stack backtrace function 2018-04-26 06:35:43 +00:00
a07f943dbc added libunwind interface support for stack frame backtracing 2018-04-26 04:50:40 +00:00
deb53399a4 introduced the new type hcl_bitmask_t 2018-04-26 04:39:20 +00:00
727f612b38 changed to null-terminate the intermediate token all the time in json.c 2018-04-25 16:12:59 +00:00
687d633c15 changed to call lt_dlinit() and lt_dlexit() as necessary when libltdl is enabled 2018-04-25 04:12:13 +00:00
bf030731fd added '\n' to is_spacechar() 2018-04-24 05:24:58 +00:00
527f48fe80 added to handle a character literal 2018-04-23 14:30:00 +00:00
b6df00f2d2 added more error checks 2018-04-23 09:40:26 +00:00
407b469ec2 finished wring a primitive standalone json parser 2018-04-23 09:16:27 +00:00
c6e4aa0702 add some json parsing code 2018-04-22 18:18:45 +00:00
fa726cd82b renamed hcl_json_t to hcl_jsoner_t 2018-04-21 05:36:06 +00:00
f87fdba5cb added json related files 2018-04-21 02:13:53 +00:00
7c886ae2e3 added hcl_setinloc() and called this on each .SCRIPT command received in the server 2018-04-12 02:50:37 +00:00