Commit Graph

371 Commits

Author SHA1 Message Date
d51ad1cd6a Added partial sample program to accept requests over a socket 2018-03-12 10:39:13 +00:00
a2d8206c58 removed a duplicate macro definition in hcl-prv.h 2018-03-11 17:08:02 +00:00
27e1e55a7c 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
b9224dfa97 added a sample line commented out 2018-03-11 03:12:38 +00:00
f9e60cea28 changed the position of abortion check 2018-03-11 03:05:42 +00:00
536f7fd9f2 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
986e02ae69 fixed return types of io handlers in main.c 2018-03-09 05:12:55 +00:00
3acdae2cdf 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
a60bd0c898 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
02b02865ac work in progress to add the hcl_purgeatdic() function 2018-03-08 10:00:57 +00:00
8cdd423a4e changed the default value of --enable-libltdl to no 2018-03-07 07:54:24 +00:00
de7db3e3bd updated the build files to utilize the standalone libltdl library if available 2018-03-07 07:50:28 +00:00
474d48a211 changed configure.ac to reset DL_LIBS if it's set to 'none required' 2018-03-05 04:39:57 +00:00
3eac18548c added mmap/munmap check to configure.ac 2018-03-05 04:08:11 +00:00
2c1b4448be 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
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