Commit Graph

114 Commits

Author SHA1 Message Date
d8499cc3a9 put the hcl server code into a library 2018-03-14 10:14:38 +00:00
449ac10b9c moving code in main2.c to hcl-s.c 2018-03-13 10:20:33 +00:00
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
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
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
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
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
03d0dcfa76 work in progress to add the hcl_purgeatdic() function 2018-03-08 10:00:57 +00:00
d1ce53cb45 implemented the builtin primitive function sprintf 2018-03-05 03:35:44 +00:00
0957c28854 exported hcl_readchar() and hcl_unreadchar() 2018-03-04 14:43:23 +00:00
a938e7a964 added a new special word and and or. compiler yet to be enhanced 2018-03-03 03:28:10 +00:00
15453eb0f7 added HCL_LOG_PREFER_JSON and implemented %J 2018-03-02 07:44:13 +00:00
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
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
8bcade7a2e changed the prototype of hcl_pfimpl_t to accept a hcl_mod_t* pointer 2018-02-28 04:52:01 +00:00
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
b97e2da6af enhanced the logfmtv to handle encoding conversion of the format string 2018-02-26 15:24:45 +00:00
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
fb66acc5a4 enhanced HCL_BRANDOF() to avoid multiple comparisons.
added the eqk? builtin primitive
removed unnecessary lines
2018-02-23 07:17:23 +00:00
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
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
a7fcf50a89 added hcl_getlastretv().
enhanced hcl_hashobj() to return hash values for nil, true, false
2018-02-22 07:41:03 +00:00
09af995779 made hcl immune to an error number/message set in the log_write callback 2018-02-22 04:35:55 +00:00
81fd56e34d deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE 2018-02-21 09:30:18 +00:00
ad0534a18e added --enable-unicode to configure.ac
cleaned up unnecessary code
2018-02-21 07:37:10 +00:00
e757c7598d removed NDEBUG enclosing karatsuba_cutoff 2018-02-20 10:27:11 +00:00
2bbb4262e4 made hcl_inttooow() and hcl_oowtoint() public 2018-02-19 16:17:46 +00:00
a82e3d4cf8 change dic.get to return an error code upon search failure 2018-02-17 16:45:17 +00:00
810803db08 added some error checks for error literals and smptr literals 2018-02-17 16:01:27 +00:00
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
a29e4a3edc added some builtin modules, but without many functions in them 2018-02-15 15:36:15 +00:00
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
763d8dddb2 fixed to use hcl-wide temporary buffers when converting an integer to a string 2018-02-15 06:58:36 +00:00
f054f4eaae integrated bigint
cleaned up code
2018-02-13 16:10:41 +00:00
a8352ce3f5 adjusted bigint code 2018-02-13 11:48:16 +00:00
56786973a0 removed duplicate hcl_t definition 2018-02-13 02:26:37 +00:00
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
8492bb8bd9 mapped a dotted identifer to a primitive function 2018-02-12 10:50:44 +00:00
46602c4511 renamed prim to pf.
added module manipulation functions
2018-02-09 04:24:50 +00:00
1457d91215 added dl_xxx vm primtiives 2018-02-09 03:48:30 +00:00
b6b8b3e7cb added more vm primitives 2018-02-08 14:40:56 +00:00
7d17b59603 added hcl_executefromip() 2018-02-08 10:33:59 +00:00
dbb66ebaf0 added the id field to process 2018-02-08 09:21:18 +00:00
9270dfa0e7 touched up code. added eqv? eql? not 2018-02-08 07:40:27 +00:00
a8729532bb changed copyright years 2018-02-07 14:13:13 +00:00
839bef7b36 added bytearray compilation code 2018-02-07 13:55:22 +00:00
b747b4e23a implemented dictionary printing 2018-02-07 10:55:20 +00:00
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
ddfc163c37 changed the reader to handle #(), #[], #{}, '() specially 2018-02-06 10:16:01 +00:00
0adbd2291e added printing routines 2018-02-05 15:59:32 +00:00