Commit Graph

3112 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 4d4fbeb9aa allow recursive function definition 2013-10-16 17:43:23 +09:00
Yuichi Nishiwaki 6c903db758 if syntax 2013-10-16 17:42:47 +09:00
Yuichi Nishiwaki 87dce75c78 add local variables 2013-10-16 17:20:53 +09:00
Yuichi Nishiwaki 5c8d81e8b5 support closure call 2013-10-16 15:30:52 +09:00
Yuichi Nishiwaki 49e1f54195 fix stack operation bug 2013-10-16 13:24:19 +09:00
Yuichi Nishiwaki 9b7fdb0725 undef object must not appear in the user land 2013-10-16 13:24:08 +09:00
Yuichi Nishiwaki ff646e05dd support boolean values 2013-10-16 13:17:01 +09:00
Yuichi Nishiwaki a6920c192f add compiler option -Wall 2013-10-16 13:15:43 +09:00
Yuichi Nishiwaki f6eddbc6d3 save all ireps into pic_state
in order to decrease the stress GC will get, restore irep structures
under pic_state instead of under each procs and making it collectable object
2013-10-16 11:53:25 +09:00
Yuichi Nishiwaki c593a46a62 add OP_LAMBDA (lambda object creation) 2013-10-16 11:32:30 +09:00
Yuichi Nishiwaki 19abedf746 warn when a closure is applied 2013-10-16 11:28:57 +09:00
Yuichi Nishiwaki b60e4df3d9 add pic_realloc 2013-10-16 11:21:41 +09:00
Yuichi Nishiwaki 40a971230d read signed real numbers 2013-10-16 10:19:16 +09:00
Yuichi Nishiwaki 4340c23f20 cleanup 2013-10-16 09:30:35 +09:00
Yuichi Nishiwaki 728a4cb9d5 [gc] mark ci 2013-10-16 09:29:47 +09:00
Yuichi Nishiwaki 62303ed91e [gc] mark predefined symbols 2013-10-16 09:29:39 +09:00
Yuichi Nishiwaki a90e124697 change ways of taking care of CI 2013-10-16 09:28:58 +09:00
Yuichi Nishiwaki 04896bcd93 [gc] bugfix: do not mark a value out of the stack range 2013-10-16 09:28:13 +09:00
Yuichi Nishiwaki 136977f357 [gc] show freed object counts 2013-10-16 09:22:15 +09:00
Yuichi Nishiwaki c41c5533fe [gc] more debug prints 2013-10-16 09:21:57 +09:00
Yuichi Nishiwaki 1fc4ef18d1 fix gc bug 2013-10-16 09:21:13 +09:00
Yuichi Nishiwaki 36b455d9c2 do not pop sp in pic_get_args; OP_CALL takes care of stack unwinding 2013-10-16 09:19:43 +09:00
Yuichi Nishiwaki 910f370482 [gc] base header size is 1, not 0 2013-10-16 09:17:44 +09:00
Yuichi Nishiwaki 22abdae12a add callinfo 2013-10-15 23:29:34 +09:00
Yuichi Nishiwaki ea6230e90c configurable stack size 2013-10-15 23:28:23 +09:00
Yuichi Nishiwaki 47971c1289 extend heap size 2013-10-15 23:27:26 +09:00
Yuichi Nishiwaki f280b0a5ce add some mathematic functions 2013-10-15 23:26:18 +09:00
Yuichi Nishiwaki 7f04cad34d scan real numbers 2013-10-15 23:25:31 +09:00
Yuichi Nishiwaki 0515b8ba2a pic_get_args supports double type (f) 2013-10-15 23:25:07 +09:00
Yuichi Nishiwaki e42eb5acd5 change ways of stack operation (no longer push dummy object at first) 2013-10-15 22:34:20 +09:00
Yuichi Nishiwaki a93c3caabf move pic_env to proc.h 2013-10-15 21:53:45 +09:00
Yuichi Nishiwaki b998c903a3 remove eval.c 2013-10-15 21:52:44 +09:00
Yuichi Nishiwaki d40c8b5921 add cfunc_p flag to pic_proc 2013-10-15 21:52:14 +09:00
Yuichi Nishiwaki a5dcaba970 add support for arithmetic operations 2013-10-15 21:29:07 +09:00
Yuichi Nishiwaki 2d4a5ed1ea add standard functions: write/newline 2013-10-15 21:14:33 +09:00
Yuichi Nishiwaki af9dd45e65 change the type of immediate number value from int to double 2013-10-15 20:05:12 +09:00
Yuichi Nishiwaki 02d52723ac add some FFI functions such as pic_defun and pic_get_args 2013-10-15 19:19:34 +09:00
Yuichi Nishiwaki 8a5ea7d7dc implement OP_CALL 2013-10-15 19:18:33 +09:00
Yuichi Nishiwaki e5ada35d9d directly change pic->sp via PUSH/POP macros 2013-10-15 19:15:51 +09:00
Yuichi Nishiwaki 266e6c6400 change repl prompt 2013-10-15 19:12:33 +09:00
Yuichi Nishiwaki 6f80f9287b adjust heap/arena size 2013-10-15 19:12:17 +09:00
Yuichi Nishiwaki 6a10162c2c add picrin/proc.h 2013-10-15 13:21:40 +09:00
Yuichi Nishiwaki 5874b7a350 configurable heap/arena size 2013-10-15 13:20:45 +09:00
Yuichi Nishiwaki daece7ae67 add object creation debug flag to picconf 2013-10-15 09:14:34 +09:00
Yuichi Nishiwaki 099d40cfb8 print raw read expression in repl 2013-10-15 09:08:10 +09:00
Yuichi Nishiwaki 78303a72e5 include necessary headers when GC_DEBUG 2013-10-15 09:07:55 +09:00
Yuichi Nishiwaki 2afdb54c16 print generated irep 2013-10-15 09:07:19 +09:00
Yuichi Nishiwaki 60ed971dd9 add picconf.h 2013-10-15 09:05:44 +09:00
Yuichi Nishiwaki fea6b7f633 push undef to the stack as a first dummy object 2013-10-15 09:02:49 +09:00
Yuichi Nishiwaki 528c2e2c15 bugfix around GC 2013-10-15 08:58:23 +09:00