Commit Graph

950 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 0cb8920276 refactor analyzer 2014-03-19 21:45:02 +09:00
Yuichi Nishiwaki 5776940420 POPN macro was not used 2014-03-19 19:49:09 +09:00
Yuichi Nishiwaki bc602aa767 pic_state is not used in pic_dump_* 2014-03-19 19:44:45 +09:00
Yuichi Nishiwaki e80c3cc60b move irep dump function definitions to irep.h 2014-03-19 19:41:24 +09:00
Yuichi Nishiwaki fc5ea838ab move global variable accessor/mutator definitions to vm.c 2014-03-19 19:38:40 +09:00
Yuichi Nishiwaki ef7d01971b publish UNREACHABLE macro 2014-03-19 17:40:31 +09:00
Yuichi Nishiwaki acfa79bc62 s/NORETURN/noreturn/g 2014-03-19 17:37:06 +09:00
Yuichi Nishiwaki 41a3e17904 no unistd.h in lex.yy.c 2014-03-19 17:35:54 +09:00
Yuichi Nishiwaki 04375c3056 [bugfix] propagate errors through the VM 2014-03-16 23:32:28 +09:00
Yuichi Nishiwaki 00d92c79bf pic_length is now unsafe to circular list 2014-03-16 23:13:03 +09:00
Yuichi Nishiwaki 8598042deb pic_list_p don't need to take pic_state *. 2014-03-16 23:12:07 +09:00
Yuichi Nishiwaki 27d4853aef refactor pic_list_p 2014-03-16 22:51:33 +09:00
Yuichi Nishiwaki 6cc6046ea3 Merge pull request #69 from koba-e964/master
list? for circular lists (Issue #17)
2014-03-16 22:39:57 +09:00
koba-e964 c23e3254fb cleanup
Re-format the code so that it complies with the C coding rule of picrin.
2014-03-16 21:55:50 +09:00
koba-e964 138ac70130 list? for circular lists
pic_list_p() detects circular lists using Floyd's cycle-finding algorithm.
2014-03-16 01:38:12 +09:00
Yuichi Nishiwaki 0e1b6d93b4 load srfi files at init. close #61 2014-03-15 20:53:07 +09:00
Yuichi Nishiwaki b4609aafb7 refine pic_load error message 2014-03-15 20:52:34 +09:00
Yuichi Nishiwaki a785719ccc [bugfix] pic_close broken 2014-03-10 01:53:09 +09:00
Yuichi Nishiwaki 68ea22f6eb add pic_blk_exit 2014-03-10 01:51:27 +09:00
Yuichi Nishiwaki 851187f7bb use pic_try/catch in stdlib_load 2014-03-10 01:12:19 +09:00
Yuichi Nishiwaki d227c22379 change native_stack marker type to char * 2014-03-10 01:11:01 +09:00
Yuichi Nishiwaki 920674a6ef typedef struct pic_block pic_block 2014-03-07 22:09:12 +09:00
Yuichi Nishiwaki 751d0f87f8 typedef struct pic_code pic_code 2014-03-07 22:06:43 +09:00
Yuichi Nishiwaki 488a2c902c mmm, cmake on travis seems earlier than 2.8.8... 2014-03-05 23:00:24 +09:00
Yuichi Nishiwaki 19371d1d81 some compilers don't support liking a static library into another shared
library. compiling xfile into an object file instead.
2014-03-05 16:06:35 +09:00
Yuichi Nishiwaki f0367d95a0 cleanup 2014-03-04 23:58:07 +09:00
Yuichi Nishiwaki 818fb41f77 fix #63. process escape sequences in string 2014-03-04 23:45:55 +09:00
Yuichi Nishiwaki f8b3f5f1fd don't rename unbound symbols 2014-03-04 00:45:47 +09:00
Yuichi Nishiwaki 6fbfd15011 formatter support display syntax (~a) 2014-03-04 00:32:55 +09:00
Yuichi Nishiwaki 4bf2262605 pic_alloc is the right name, not pic_malloc 2014-03-04 00:30:11 +09:00
Yuichi Nishiwaki 8f5c053bd8 add display function API 2014-03-04 00:28:39 +09:00
Yuichi Nishiwaki 5b2898ae5c rename read functions which return a list of multiple expressions to 'parse' 2014-03-04 00:26:33 +09:00
Yuichi Nishiwaki 8a9bd366a1 define display function in C 2014-03-04 00:12:28 +09:00
Yuichi Nishiwaki 1de4073212 cleanup 2014-03-03 23:13:32 +09:00
Yuichi Nishiwaki 5d4d90228d update read error message 2014-03-03 23:02:52 +09:00
Yuichi Nishiwaki 777f951caf pic_compile now unsafe to compilation error 2014-03-03 22:49:59 +09:00
Yuichi Nishiwaki 306a5f53a5 string formatter follow srfi-28's spec 2014-03-03 22:44:38 +09:00
Yuichi Nishiwaki a9d3d847af add pic_printf 2014-03-03 22:43:59 +09:00
Yuichi Nishiwaki 408255381c add pic_eval 2014-03-03 22:39:38 +09:00
Yuichi Nishiwaki 34bcabf5bc s/pic_trampoline/pic_apply_trampoline/g 2014-03-03 22:19:27 +09:00
Yuichi Nishiwaki 3302721c65 catch up to xrope API change 2014-03-02 19:26:37 +09:00
Yuichi Nishiwaki 0b4f65bf9e auto remove lex.yy.h 2014-03-02 19:03:01 +09:00
Yuichi Nishiwaki d01a29b0e0 use file glob 2014-03-02 18:50:35 +09:00
Yuichi Nishiwaki e4d4c51e78 use absolute path for flex output 2014-03-02 13:24:12 +09:00
Yuichi Nishiwaki d77035a537 fix flex problem 2014-03-02 13:21:26 +09:00
Yuichi Nishiwaki e30529d629 Add experimental cmake support 2014-03-02 01:52:41 +09:00
Yuichi Nishiwaki 3b8868c577 typedef pic_value pic_list 2014-03-01 20:54:02 +09:00
Yuichi Nishiwaki c357a9302d remove pic_list, and add pic_listn 2014-03-01 20:46:08 +09:00
Yuichi Nishiwaki dfb6eeb72d cleanup 2014-03-01 20:25:58 +09:00
Yuichi Nishiwaki 6e7567a598 my own read impl. 2014-03-01 20:21:44 +09:00
Yuichi Nishiwaki 6cf6c72f84 change default library in repl 2014-03-01 19:55:52 +09:00
Yuichi Nishiwaki 6ddaa0eda0 use pic_deflibrary in init.c 2014-03-01 19:54:29 +09:00
Yuichi Nishiwaki 95dc14bac2 use yyfree/yyalloc during bytevector lex 2014-03-01 13:24:43 +09:00
Yuichi Nishiwaki 491fd81c97 add an alias 'yylval' linked to '*yylvalp' 2014-03-01 00:35:16 +09:00
Yuichi Nishiwaki cbad58f560 remove useless includes 2014-03-01 00:24:23 +09:00
Yuichi Nishiwaki 3bedc65d2b use yyrealloc 2014-03-01 00:20:19 +09:00
Yuichi Nishiwaki a51dc51a09 use volatile string 2014-03-01 00:19:57 +09:00
Yuichi Nishiwaki 0b8c7a8ccb add pic_intern 2014-03-01 00:13:11 +09:00
Yuichi Nishiwaki 81f839ea04 use yyget_extra function 2014-03-01 00:02:46 +09:00
Yuichi Nishiwaki 222c3bdcaa use noyywrap option 2014-02-28 23:59:50 +09:00
Yuichi Nishiwaki 513727f94c emit additional scanner header file 2014-02-28 22:38:12 +09:00
Yuichi Nishiwaki e781a063f8 scan.l cleanup 2014-02-28 22:35:38 +09:00
Yuichi Nishiwaki 1f858f05e3 avoid implicit int -> size_t cast 2014-02-27 22:14:21 +09:00
Yuichi Nishiwaki 7a1c04f1fa [bugfix] old proc#cfunc_p property remained in debug block 2014-02-27 22:00:48 +09:00
Yuichi Nishiwaki 8586dc9057 xrope is now the internal representation of pic_str 2014-02-27 21:54:37 +09:00
Yuichi Nishiwaki 8e511bc410 remove dependencies on pic_state from pic_strlen and pic_strcmp 2014-02-27 19:42:59 +09:00
Yuichi Nishiwaki 878370c29a gurantee allocators return NULL given size is zero 2014-02-27 13:55:19 +09:00
Yuichi Nishiwaki 06a7b0f5f6 add pic_func struct to hold native function name 2014-02-26 00:39:16 +09:00
Yuichi Nishiwaki bb93a8be14 catch up to XFILE changes 2014-02-25 21:07:32 +09:00
Yuichi Nishiwaki 9a73ba707c add pic_strcmp 2014-02-23 17:45:34 +09:00
Yuichi Nishiwaki 0fa61b6a4a change pic_get_args API. 'z' now returns a pointer to null terminated
cstr, 's' a pointer to pic_str
2014-02-23 11:52:15 +09:00
Yuichi Nishiwaki 9f240c191c add pic_str_new_fill 2014-02-23 11:25:39 +09:00
Yuichi Nishiwaki 349d7f1799 don't take int arguments with size_t 2014-02-23 10:51:21 +09:00
Yuichi Nishiwaki 067a4756ff fix #58 2014-02-23 09:16:29 +09:00
Yuichi Nishiwaki 7ac4cd9ded add 'pic_' prefix to heap manipulte functions 2014-02-22 16:54:12 +09:00
Yuichi Nishiwaki 5175f0bb8d change gc heap API and hide sturctures. 2014-02-22 15:53:59 +09:00
Yuichi Nishiwaki 56f5f4a1f5 move sturct definitions for basic types to type-specific headers respectively 2014-02-22 15:21:55 +09:00
Yuichi Nishiwaki a8aa6b2c5e add some string utility functions 2014-02-21 18:24:20 +09:00
Yuichi Nishiwaki 131440b1d0 s/struct pic_string/pic_str/g 2014-02-21 18:05:59 +09:00
Yuichi Nishiwaki 80a794310d call/cc must save pic->ip 2014-02-20 20:59:35 +09:00
Yuichi Nishiwaki 078b72ff17 cleanup 2014-02-20 20:44:30 +09:00
Yuichi Nishiwaki 19f426a4f4 [bugfix] segv on pic_receive 2014-02-20 18:57:01 +09:00
Yuichi Nishiwaki 7c5d337119 support call-with-values in VM level 2014-02-20 18:38:09 +09:00
Yuichi Nishiwaki 942e053cde compile values in tail position 2014-02-20 18:00:30 +09:00
Yuichi Nishiwaki 742be0b2c0 don't reset retc in pic_receive 2014-02-20 18:00:16 +09:00
Yuichi Nishiwaki acc3afc120 don't emit debug message into stderr 2014-02-20 17:58:00 +09:00
Yuichi Nishiwaki 85a766a242 adjust stack pointer to the next to the initial position after calling function 2014-02-20 17:41:59 +09:00
Yuichi Nishiwaki 213177eb10 reset ci->retc when pic_receive is called 2014-02-20 17:19:40 +09:00
Yuichi Nishiwaki bad8daa813 ci->retc is set to 1 by default 2014-02-20 17:19:28 +09:00
Yuichi Nishiwaki c9331fb59e [refactor] proceed return values from C functions in OP_RET block 2014-02-20 17:14:58 +09:00
Yuichi Nishiwaki 29b2d84268 show invalid application callee 2014-02-20 17:10:55 +09:00
Yuichi Nishiwaki 2d0faff732 VM end state shows info based on the position the VM entered 2014-02-20 17:09:55 +09:00
Yuichi Nishiwaki 82647584e8 [bugfix] handle 1-coarity native function 2014-02-20 16:50:14 +09:00
Yuichi Nishiwaki 7217baee0a add coarity register to the VM 2014-02-20 16:33:18 +09:00
Yuichi Nishiwaki 0f75a1b7cb let OP_RET take an argument 2014-02-20 16:01:29 +09:00
Yuichi Nishiwaki 16639a1764 fix #56. thank you @justinethier 2014-02-20 11:58:27 +09:00
Yuichi Nishiwaki d718490a03 (finally!) hunt the bug. no more segv on error in repl 2014-02-19 02:24:30 +09:00
Yuichi Nishiwaki b69b549fca delegate error handling to REPL when no exception handlers remain 2014-02-19 02:22:34 +09:00
Yuichi Nishiwaki 6e3a2b176a split error and raise 2014-02-19 02:11:29 +09:00
Yuichi Nishiwaki a1a0aff657 newlines are included in block comments 2014-02-19 01:58:40 +09:00