Commit Graph

706 Commits

Author SHA1 Message Date
e3b5d33811 implemented the builtin primitive function sprintf 2018-03-05 03:35:44 +00:00
d4d9491f3c exported hcl_readchar() and hcl_unreadchar() 2018-03-04 14:43:23 +00:00
71d024837d 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
c387772803 added a new special word and and or. compiler yet to be enhanced 2018-03-03 03:28:10 +00:00
5aee382e9e fixed the wrong word output for #nil in the json format 2018-03-02 07:58:37 +00:00
60a32bf642 added HCL_LOG_PREFER_JSON and implemented %J 2018-03-02 07:44:13 +00:00
450526215a fixed a compilation issue about MMAP_HUGETLB 2018-03-02 02:09:41 +00:00
9094157e28 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
0b460a3f2a added the logf builtin function 2018-03-01 09:46:02 +00:00
e58d4e30cc 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
329fc6ce7d removed unused lines 2018-03-01 05:27:17 +00:00
6eaf73a3d7 touched up various remaining implementation details of the printf builtin function. 2018-03-01 05:25:09 +00:00
09302470f7 enhanced hcl_inttostr() to accept a negative radix to produce lower-case alphabetic digits 2018-02-28 15:57:19 +00:00
ed729adc2e removed unneeded code 2018-02-28 10:23:08 +00:00
ffa6c39852 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
aaafc1371b changed the format of accepted values by --enable-unicode 2018-02-28 07:33:13 +00:00
701554af0d fixed a wrong index used when getting the mod pointer into/from the prim object 2018-02-28 05:04:42 +00:00
c865de4d61 changed the prototype of hcl_pfimpl_t to accept a hcl_mod_t* pointer 2018-02-28 04:52:01 +00:00
eaf7f9243d 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
ef51ee4a1d enhanced the logfmtv to handle encoding conversion of the format string 2018-02-26 15:24:45 +00:00
bf49aa1260 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
7e6b16e153 work in progress to implement the builtin printf function 2018-02-24 04:01:19 +00:00
a5fe90597c 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
a4be9907b7 added some comments 2018-02-23 08:50:18 +00:00
9498530691 enhanced HCL_BRANDOF() to avoid multiple comparisons.
added the eqk? builtin primitive
removed unnecessary lines
2018-02-23 07:17:23 +00:00
9abb389aa2 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
a78dba499f 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
4876d1775c added hcl_getlastretv().
enhanced hcl_hashobj() to return hash values for nil, true, false
2018-02-22 07:41:03 +00:00
dbeac10a38 added more error immunity check for the log_write callback 2018-02-22 04:44:21 +00:00
a39e38cc8d made hcl immune to an error number/message set in the log_write callback 2018-02-22 04:35:55 +00:00
6e4a8f6081 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
25e4bb040c added a new debugging macro HCL_DEBUG_LEXER
removed the debugging macro HCL_DBEUG_BIGINT
2018-02-21 13:02:05 +00:00
c12b85e0a0 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
67a334bc26 deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE 2018-02-21 09:30:18 +00:00
5128c1a99f localized a local variable into a loop in PUT_OOCH and PUT_OOCS in logfmtv 2018-02-21 08:54:13 +00:00
14b3013c79 fixed the premature termination issue in logfmtv 2018-02-21 08:48:47 +00:00
ed7f580e54 changed the wrong field name when HCL_OOCH_IS_BCH 2018-02-21 07:54:38 +00:00
7a47ba6369 cleaned up code a bit 2018-02-21 07:38:59 +00:00
cfdc22ee60 added --enable-unicode to configure.ac
cleaned up unnecessary code
2018-02-21 07:37:10 +00:00
a1ce05a5fb more error checks 2018-02-20 14:53:12 +00:00
af67156d1b changed the main loop a little bit 2018-02-20 14:10:09 +00:00
e61207291c removed NDEBUG enclosing karatsuba_cutoff 2018-02-20 10:27:11 +00:00
1f4143f20f made hcl_inttooow() and hcl_oowtoint() public 2018-02-19 16:17:46 +00:00
4e4aec4f20 added arr.size 2018-02-19 16:14:22 +00:00
a05efb1258 added arr.put 2018-02-19 10:03:02 +00:00
edea84bd46 added the gc builtin function 2018-02-18 15:02:57 +00:00
1ed8f3f655 Added dic.put 2018-02-17 17:01:48 +00:00
21cddab62f change dic.get to return an error code upon search failure 2018-02-17 16:45:17 +00:00
093ee93a3c deleted unneeded code 2018-02-17 16:09:44 +00:00
22127d384f added some error checks for error literals and smptr literals 2018-02-17 16:01:27 +00:00