Commit Graph

406 Commits

Author SHA1 Message Date
05ca362732 fixed a minor build issue in HawkStd.cpp 2020-12-04 05:57:23 +00:00
3a5119504e worked around parse errors by an old gcc compiler(2.95.3) 2020-12-03 14:11:11 +00:00
c44b3160f2 fixed configure.ac 2020-12-03 08:44:32 +00:00
65ad752666 hacked formatting code to work around a compiler problem of not passing __float128 properly via va_list.
introduced 'jj' to pass a large value via a pointer but to take the value inside the pointer
changed hawk_rtx_format() and hawk_rtx_formatmbs() to use 'jj' when building with HAWK_USE_FLTMAX on
2020-12-03 07:28:53 +00:00
7827e5fa4b fixed a wrong define 2020-12-02 18:52:33 +00:00
616539252c made tre_ast_to_tnfa() iterative
fixed a bug in tre_expand_macro()
fixed a bug in tre_parse()
2020-12-02 16:07:06 +00:00
fddfa537e5 redefined TRE_CHAR_MAX to avoid the overflow issue 2020-12-02 15:11:13 +00:00
6210a10297 updated configure.ac 2020-12-02 03:09:55 +00:00
72557c239b added hawk::modlibdirs() 2020-12-01 14:44:53 +00:00
2dd6029064 fixed a parser bug when handling the print/printf statement without redirection.
fixed a bug where a single dot was converted to 0 when passed via -v (e.g. -vTDIR=.)
added more test cases
2020-12-01 10:22:17 +00:00
35829a524b added the mimimum size check for an externally allocated zone to xma 2020-11-28 15:28:14 +00:00
3a5a268bd7 changed the return type of xma dumper to void 2020-11-25 14:42:56 +00:00
dacb0cf293 stop specifying explicit DEPENDENCIES by listing the .la files in LDADD 2020-11-16 12:54:50 +00:00
b9b1802387 fixed a link issue with the socket library on a certain platform 2020-11-15 09:22:03 +00:00
c21c9ddeed corrected build files for distcheck 2020-11-15 08:46:30 +00:00
f4a2102797 simplified build files 2020-11-15 04:50:40 +00:00
1b7f6aa29d removed O_CLOEXEC checks with epoll_create1() 2020-11-14 16:07:36 +00:00
5d7c87c882 changed to use EPOLL_CLOEXEC if available when calling epoll_create1() 2020-11-14 16:00:11 +00:00
9ff63b9503 fixed build files regarding -lm 2020-11-14 09:02:39 +00:00
a9418f26c2 fixed build files 2020-11-14 08:03:16 +00:00
b3b56c4a42 fixed build files 2020-11-14 07:35:47 +00:00
cfa140a925 fixed a length calculation bug in fnc_split() 2020-11-13 17:44:44 +00:00
daf7377403 added str::splita() 2020-11-13 15:09:29 +00:00
166c18c7d0 enhanced str::split() to handle byte strings better 2020-11-13 14:56:15 +00:00
4a60654b49 added code to preapre byte string support in split(). still long way to go 2020-11-13 02:50:20 +00:00
afe27f4eec hawk initializes block-local variables upon block entry regardless of migration to the outermost block by the parser.
it emits the local variable declaration in the original nested block regardless of migration by the parser.
2020-11-12 08:02:36 +00:00
7ab601303c added a new keyword @nil 2020-11-10 02:56:29 +00:00
93aa76e104 fixed a test case 2020-11-09 16:32:34 +00:00
097a6c92f2 fixed some bugs in hawk_rtx_format() and hawk_rtx_formatmbs() 2020-11-09 12:07:16 +00:00
9a8c97e3ab added some test cases on math functions 2020-11-08 18:06:15 +00:00
aa04aa2ad7 added more test cases 2020-11-08 17:51:28 +00:00
44bfa42a69 changed the literal notations of a raw string, a byte string, a raw byte string to have the @ sign before b, r, br, rb 2020-11-08 17:23:25 +00:00
a532d65335 fixed a bug of not checking if the current script is null for @SCRIPTNAME in parse.c 2020-11-07 01:51:52 +00:00
fe600c2ce4 added check for the first parameter to operator new in configure.ac 2020-11-07 01:26:29 +00:00
2390a8c5cc minor changes of some conditionals in hawk-cmn.h 2020-11-06 14:04:59 +00:00
38c193cd31 made some defintions conditional 2020-11-05 15:10:28 +00:00
105bbf5429 changed hawk_xma_free() a bit 2020-11-03 12:59:28 +00:00
4323b0b7ce changed xma dump title 2020-11-03 06:54:20 +00:00
06a698058e changed hawk to print xma information when -D and -m are specifed 2020-11-03 06:44:36 +00:00
42637318b7 fixed more bugs in xma 2020-11-03 06:08:34 +00:00
26e0570a53 changed a field name from avail to free in hawk_xma_mblk_t and hawk_xma_fblk_t 2020-11-03 01:24:14 +00:00
200f5f1d94 added the xma memory manager 2020-11-02 09:54:12 +00:00
b17dfeea3c set RTLD_LOCAL for dlopen() when opening a module 2020-10-20 07:41:56 +00:00
78deb3a44d removed -std=c++11 from hawk.spec.in 2020-10-13 17:42:10 +00:00
23fbfed989 updated hawk.spec.in 2020-09-24 13:45:44 +00:00
2fe815e815 enhanced sys::read() to accept the 4th parameter as an input end delimiter 2020-09-14 11:28:57 +00:00
c15966a0f4 fixed wrong O_NONBLOCK handling in mod-sys.c 2020-09-08 16:08:28 +00:00
a097bb71fe redefined hawk_ntime_sec_t with a data size guard 2020-09-03 03:29:55 +00:00
a0436306b8 removed unneeded code 2020-09-03 03:24:14 +00:00
263fa969d4 added more test cases for hawk_add_ntime()/hawk_sub_ntime() 2020-09-03 02:56:38 +00:00
a3c7f4c6f7 renamed some time functions.
enhanced hawk_add_ntime()/hawk_sub_ntime() to detect overflow/underflow
2020-09-02 20:02:51 +00:00
87e3601818 removed unneeded substitution in configure.ac 2020-08-19 04:56:50 +00:00
1701a40dca removed the do..while wrapper from HAWK_STATIC_ASSERT 2020-08-19 04:33:18 +00:00
6602de8527 added a static assertion in lib/hawk-cmn.h 2020-08-19 04:28:38 +00:00
afb7fa41ff improved character definitions in hawk-cmn.h 2020-08-19 04:03:56 +00:00
9988b1afcd added check for the u and U prefix for string literals 2020-08-19 02:38:07 +00:00
416a39868a regenerated some build files 2020-08-19 02:04:08 +00:00
3cceb80fa0 renamed --enable-unicode to --enable-wide-char 2020-08-16 07:20:01 +00:00
fb948bba12 added --enable-pthread-flags to configure.ac 2020-08-15 18:26:56 +00:00
44101be7ac updated ax_lib_mysql.m4 2020-08-15 15:07:10 +00:00
dcd39eb22b minor comment changes in hawk-cmn.h 2020-08-14 16:58:36 +00:00
6dc5f4b123 modified README.md 2020-08-06 04:57:31 +00:00
d177219179 changed ambiguous code in lib/fmt.c 2020-07-10 14:53:11 +00:00
996b9e92c8 changed ambiguous code in lib/fmt.c 2020-07-10 14:50:54 +00:00
1dbf8046b0 added HAWK_ZDIGIT_TO_NUM() 2020-05-27 09:32:52 +00:00
303118bc5c added a common macro HAWK_XDIGIT_TO_NUM() to replace repeated code 2020-05-27 09:15:48 +00:00
8b7b2562df fixed the wrong value defined for HAWK_SKAD_TO_OOCSTR_PORT 2020-05-20 14:32:04 +00:00
0c46c2c145 fixed wrong length type in hawk_copy_uchars_to_ucstr() and hawk_copy_bchars_to_bcstr() 2020-05-20 13:03:27 +00:00
610910ad9e fixed hawk_arr_getstyle() 2020-05-04 07:21:13 +00:00
7f479f156b added special parser-level substitution word - @SCRIPTNAME, @SCRIPTLINE 2020-05-04 07:14:32 +00:00
8ad37dabf0 removed hawk::array_size(), hawk::array_tally().
enhanced hawk::array() and hawk::map() to accept values
2020-05-03 15:49:31 +00:00
84d869606f simplified the way to get the first integer index in idxnde_to_str() 2020-05-03 06:17:44 +00:00
6709839f96 fixed another bug in 'in' evaluation 2020-05-03 06:05:06 +00:00
210aa19820 enhanced the 'in' operator evaluation to support an array 2020-05-03 05:45:31 +00:00
11b6e0ce97 trivial change for code consistency 2020-05-02 18:34:18 +00:00
29bc731ccb enhanced asort() and asorti() to handle an array value.
added hawk_rtx_getarrvalfld() and hawk_rtx_setarrvalfld()
2020-05-02 18:18:26 +00:00
5326953e9b made a minor change in tools/uni-case.c 2020-05-01 08:10:51 +00:00
56a5bf592f defined hawk_ooecs_amend to hawk_becs_amend in the bch mode 2020-04-30 15:56:15 +00:00
0c184b6817 changed length() over an array to return the number of items set.
added hawk::array_size() to return the last index + 1.
added hawk::array_tally() which works for an array only and acts like length()
2020-04-29 13:03:02 +00:00
881dfd2ce0 enhanced array manipulation code 2020-04-26 15:28:44 +00:00
d497e51b62 code for array support in assignment, evaluation, getting reference, deletion 2020-04-25 18:35:04 +00:00
47cea947db minor error message changes 2020-04-24 17:39:00 +00:00
70f759b140 more code for array support 2020-04-24 17:27:56 +00:00
1b7ef41ee4 fixed an array access problem by an out-of-range index in eval_indexed() 2020-04-24 16:01:23 +00:00
f860798821 Added partial code for array support 2020-04-24 15:52:08 +00:00
6e857ff4f2 updated hawk_arr_t callback functions to be more consistent with hawk_rbt_t/hawk_htb_t by creating hawk_arr_style_t and adding hawk_arr_setstyle()/hawk_arr_getstyle().
remove hawk_arr_getcopier()/hawk_arr_setcopier()/hawk_arr_getcomper()/hawk_arr_setcomper()
2020-04-24 06:49:19 +00:00
75dc7d8fbc Added sys::tcflush() and defined sys::TC_CFLAG_XXX items 2020-04-23 08:07:46 +00:00
11371cc073 dropping the idea of hawk::reset() and changing it to hawk::array() and hawk::map() 2020-04-23 07:25:33 +00:00
260ab078f8 made IUTF8 conditional depending on its availability 2020-04-22 11:41:37 +00:00
22342148f5 changed hawk_rtx_makemapvalwithdata() to accept data count.
enhanced sys::tcgetattr() and sys::tcsetattr() to store and fetch the value for c_cc field to and from the "cc" slot
2020-04-22 06:48:01 +00:00
8b597b7acf did some preparatory work to support an array that uses an integer as the index 2020-04-20 15:34:59 +00:00
3a717bb768 made OXTABS and ONOEOT compilable when not available 2020-04-20 04:39:21 +00:00
121ae9bc76 fixed a bug in sys::tcsetattr() 2020-04-20 04:29:00 +00:00
2f6bd33fc3 added partial implementation of sys::tcsetattr(), sys::tcgetattr(), sys::tcsetsane() 2020-04-19 16:33:35 +00:00
ac81d7cc2a Added static assertion to check wchar_t type for C++ 2020-04-17 17:50:15 +00:00
3bae71b21f minor code touch-up again 2020-04-17 17:19:34 +00:00
53b76934d9 minor code touch-up 2020-04-17 15:07:38 +00:00
7e9d7d8015 added hawk_subst_for_uchars_to_ucstr(), hawk_subst_for_ucstr_to_ucstr() hawk_subst_for_bchars_to_bcstr(), hawk_subst_for_bcstr_to_bcstr() 2020-04-17 11:10:47 +00:00
0b9d29ba72 added hawk_copy_bcstr_to_bchars() and hawk_copy_ucstr_to_uchars() 2020-04-16 15:29:09 +00:00
756a8454b2 removed the enforced -std=c++11 from CXXFLAGS in the rpm spec file 2020-04-16 06:17:12 +00:00
0c6b7a6ac8 adopted AX_CXX_COMPILE_STDCXX() for auto-detection of a c++11 capable compiler 2020-04-16 06:11:07 +00:00
c567b511f8 fixed a wrong test macro in t/t.h 2020-04-16 03:52:35 +00:00
c3d137a5c2 added %check to the rpm spec file.
renamed awk to hawk
updated copyright years
2020-04-16 03:42:30 +00:00
5f4635d455 added HAWK_OPT_MODLIBDIRS to specify search path for module files 2020-04-15 15:12:28 +00:00
a36dbd9c2f renamed enumerators of hawk_opt_t 2020-04-15 08:38:41 +00:00
fd94b20974 adding HAWK_MODLIBDIR 2020-04-15 08:35:07 +00:00
b72110af74 integrated some test files to automake 2020-04-14 14:02:04 +00:00
ef9db73f19 fixed a bug in handling a reference value in hawk::call() 2020-04-14 11:45:52 +00:00
c7961f84d2 some sample code to mod-mysql.c
added a test script file t/h-001.hawk. there is still a reference handling bug regarding hawk::call()
2020-04-14 07:40:30 +00:00
11fe4e17ad fixed a bug where a reference value was passed to a user-defined function. a reference value should have been evaluated to a non-reference value before given to a user-defined function. it's a new bug introduced over a few previous commits done to support hawk::call() 2020-04-14 06:47:46 +00:00
f827a94d64 work in progress - debugging reference evaluation issues 2020-04-14 06:02:55 +00:00
178c83724b added hawk::function_exists() 2020-04-13 13:56:09 +00:00
a8afcca04e simplified hawk::call().
fixed a bug in copying a value for a reference upon returning from a function in hawk_rtx_evalcall(). it was unable to handle the case where a reference variable is not updated in the called function
2020-04-13 08:41:16 +00:00
f5da432bb4 fixed wrong macros - hawk_tio_getxtn(), hawk_pio_getxtn(), hawk_sio_getxtn(), etc 2020-04-13 06:15:03 +00:00
6664621a45 fixed an initialization bug in mod-math.c 2020-04-12 19:05:15 +00:00
e4de922f7d touched up stack management code
added hawk::call()
2020-04-12 18:23:44 +00:00
9eb3c4fc42 enhanced a function caller to take a string and find a function to execute it 2020-04-09 12:56:47 +00:00
9328a49cb1 added hawk_rtx_valtofun() and changed the asort implementation to use it 2020-04-08 17:07:19 +00:00
d9ffad1227 renamed hawk_rtx_cleario() to hawk_rtx_clearallios().
added hawk_rtx_flushallios().
revised hawk_rtx_loop() and hawk_rtx_callfun() to call hawk_rtx_flushallios() instead of hawk_rtx_clearallios().
changed the io handler to discard unflushed data if flushing fails in std.c
2020-04-08 10:23:31 +00:00
a23eeee168 added true multidimensional map support for the for-in statement and the binary in operator 2020-04-07 16:16:48 +00:00
ca1877d412 call-by-reference handling with a true multidimensional map 2020-04-04 17:40:56 +00:00
82eac76de4 more true multidimensional map work 2020-04-03 17:56:04 +00:00
9d40f45092 implementing deletion on true multi-dimensional map 2020-04-03 09:29:37 +00:00
164d91661b implementing assignment with true multi-dimensional map 2020-04-03 02:05:12 +00:00
76d295365a writing code for supporting true multi-dimensional indices in map 2020-03-30 08:54:37 +00:00
abcc217dd0 changed the point where hawk_rtx_cleario() is called for cleanup 2020-03-29 08:05:36 +00:00
cd7873e19a changed code to prevent buffered output from span across the end of hawk_rtx_execXXX() 2020-03-29 06:29:05 +00:00
e54537886c changed to call hawk_rtx_cleario() before restoring SIGPIPE handler in bin/main.c 2020-03-28 08:28:09 +00:00
a93beaaf55 added hawk::gc(), hawk::gc_set_threshold(), hawk::gc_get_threshold() 2020-03-28 08:04:37 +00:00
7d70005984 implemented automatic generational processing based on threshold in garbage collection 2020-03-28 06:45:36 +00:00
752b1332c9 touched up gc code 2020-03-25 17:05:48 +00:00
d448f8d8bc gc enhancement for supporting generational processing 2020-03-25 08:40:41 +00:00
c1ffc899fe some more code cleanup 2020-03-25 06:22:25 +00:00
74180e1d8a some cosmetic source code changes 2020-03-25 05:56:11 +00:00
404c382e33 fixed a gc flaw upon rtx disposal 2020-03-24 15:26:00 +00:00
962b1d47dd fixed a bug in run_forin() in run.c 2020-03-24 07:14:12 +00:00
77640ef73c renamed the suffix of some scripts to .hawk
fixed mod-sys.c a bit
2020-03-24 07:08:21 +00:00
565e51091b fixed outstanding bugs in gc implementation. pending more improvements 2020-03-24 06:49:25 +00:00
9dc3d5418a made some conditional changes to mod-sys.c 2020-03-23 16:33:32 +00:00
8f6176f451 trying to fix bugs in gc implementation 2020-03-23 16:14:38 +00:00
8c01bef2fb some interim code for gc implementation 2020-03-23 09:24:22 +00:00
53a3cdfd23 removed a redundant semicolon after #endif in mod-sys.c 2020-03-22 18:04:38 +00:00
6502a2e388 changed the behavior of for(x in y) loop - it now takes a snapshot of keys before running body 2020-03-22 18:01:05 +00:00
66d461e664 fixed a fault in hawk-rbt.h 2020-03-21 11:38:27 +00:00
f0c1a26ccc some gc works 2020-03-20 09:50:32 +00:00
adcbf748a2 fixed a bug in string cache managment.
added mbs cache management
2020-03-20 06:05:28 +00:00
7fe9ea0936 added some code to implement gc 2020-03-19 17:42:01 +00:00
1285d77c1e changed the doubly linked list to circular in idmap-imp.h
started writing some code to implement gc
2020-03-18 08:30:40 +00:00
bc87c486da optimized rbt.c and htb.c a bit 2020-03-17 15:44:00 +00:00
cd4298499f optimized lib/run.c a bit 2020-03-17 15:30:56 +00:00