Commit Graph

181 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 2f8b016d86 improve debug prints 2014-01-27 22:18:49 +09:00
Yuichi Nishiwaki 30fcd6468f reverse condition for tail position marking 2014-01-27 21:24:10 +09:00
Yuichi Nishiwaki 3418aebe3f remove unused properties 2014-01-27 21:20:12 +09:00
Yuichi Nishiwaki c3fd4addc3 change AST format 2014-01-27 21:20:00 +09:00
Yuichi Nishiwaki a2d9d2f93a resolve TODOs 2014-01-27 21:18:03 +09:00
Yuichi Nishiwaki 52927ac452 gc resolver 2014-01-27 21:17:24 +09:00
Yuichi Nishiwaki 244ec06953 add implicit casts from void * 2014-01-27 21:17:04 +09:00
Yuichi Nishiwaki 26544ff6fd dump ireps recursively 2014-01-27 21:14:59 +09:00
Yuichi Nishiwaki 15ca95eb8f improve debug prints 2014-01-27 21:14:41 +09:00
Yuichi Nishiwaki 9dd04fd3b3 impl resolver 2014-01-24 17:11:37 +09:00
Yuichi Nishiwaki 6b20e004e5 [bugfix] var must be a symbol 2014-01-24 17:11:15 +09:00
Yuichi Nishiwaki 237e8c26a6 wrong length for call operation 2014-01-24 17:10:51 +09:00
Yuichi Nishiwaki 2126f5b453 rename local variables 2014-01-24 17:10:19 +09:00
Yuichi Nishiwaki f3e2321679 add missing returns 2014-01-24 17:09:51 +09:00
Yuichi Nishiwaki a35606dc16 gref/cref/lref are not used by analyzer 2014-01-24 17:09:06 +09:00
Yuichi Nishiwaki cfdf1ceaf8 cleaning up 2014-01-24 17:08:35 +09:00
Yuichi Nishiwaki 56e90f564c quote everything 2014-01-23 19:21:37 +09:00
Yuichi Nishiwaki 03e21218a5 remove depth property 2014-01-23 19:21:17 +09:00
Yuichi Nishiwaki b2c5f5cb6d change ast format 2014-01-23 18:57:18 +09:00
Yuichi Nishiwaki 66a7e653ba change analyze_args API 2014-01-23 18:56:52 +09:00
Yuichi Nishiwaki 801c04788f add cv_foo properties to codegen_context 2014-01-23 18:55:39 +09:00
Yuichi Nishiwaki 75167697f0 start using pic_list_ref and pic_list_tail 2014-01-23 16:32:20 +09:00
Yuichi Nishiwaki c7811f0c39 add depth property 2014-01-23 16:17:52 +09:00
Yuichi Nishiwaki 6d346fef87 unify the names of IR reference nodes to a name 'ref' 2014-01-23 15:18:41 +09:00
Yuichi Nishiwaki 3dbafd58be cleanup 2014-01-23 15:03:43 +09:00
Yuichi Nishiwaki 655eb7a3bd add pic_compile 2014-01-20 16:57:39 +09:00
Yuichi Nishiwaki 78420ef042 remove unused properties 2014-01-20 13:22:45 +09:00
Yuichi Nishiwaki 35cf4e1fcd initialize with global scope 2014-01-20 13:15:09 +09:00
Yuichi Nishiwaki b2c74552f2 change lookup_var API 2014-01-20 13:04:21 +09:00
Yuichi Nishiwaki fbeb32ee83 typo 2014-01-20 11:16:52 +09:00
Yuichi Nishiwaki 6dcf04d50c fix some bugs 2014-01-18 22:36:02 -08:00
Yuichi Nishiwaki 14eb6b334d arena management 2014-01-18 22:35:36 -08:00
Yuichi Nishiwaki ae933252c9 add analyzer prototype 2014-01-18 20:20:28 -08:00
Yuichi Nishiwaki 395f48bc81 move rSYMBOLs from pic_state to codegen_state 2014-01-18 11:47:18 -08:00
Yuichi Nishiwaki 1aa35891ad [bugfix] must multiply the size by sizeof(struct) when using realloc function 2014-01-18 23:01:11 +09:00
Yuichi Nishiwaki a315f518d2 auto-extend constant pool array 2014-01-18 22:56:43 +09:00
Yuichi Nishiwaki 9fadf16fdb make iseq length configurable 2014-01-18 22:54:28 +09:00
Yuichi Nishiwaki 494989ff3e embed constant pool into irep object 2014-01-18 22:32:41 +09:00
Yuichi Nishiwaki 5e616e7774 store irep objects inside parent irep object 2014-01-18 21:48:50 +09:00
Yuichi Nishiwaki 4f5743ad0f shrink code size 2014-01-18 21:47:52 +09:00
Yuichi Nishiwaki 53e3e019de ccapa property no longer used 2014-01-18 21:03:12 +09:00
Yuichi Nishiwaki d3412deae1 duplicate variable binding 2014-01-18 20:53:16 +09:00
Yuichi Nishiwaki 801d92e0a4 store constructing iseq in scope object, not pic_irep 2014-01-18 20:49:01 +09:00
Yuichi Nishiwaki 05a69d10dd cosmetic changes 2014-01-18 17:19:46 +09:00
Yuichi Nishiwaki 42c097a91f pic->irep is a root marker 2014-01-18 16:55:11 +09:00
Yuichi Nishiwaki 11e4f1644b irep object is now controlled under GC 2014-01-18 16:53:39 +09:00
Yuichi Nishiwaki 586b228156 add PIC_TT_IREP 2014-01-18 16:51:54 +09:00
Yuichi Nishiwaki b62374b4b4 s/print_irep/pic_dump_irep/g 2014-01-18 16:23:12 +09:00
Yuichi Nishiwaki a16dcb9931 impl pic_set 2014-01-18 12:55:44 +09:00
Yuichi Nishiwaki ca068f560b clarify license information 2014-01-17 20:58:31 +09:00
Yuichi Nishiwaki 0753b12f60 [bugfix] native operators such as = or + are not inline-expanded 2014-01-13 14:39:21 +09:00
Yuichi Nishiwaki 3fb407329f implement missing pic_ref definition 2014-01-13 00:50:45 +09:00
Yuichi Nishiwaki 6b808354c0 global variable accessors don't require library object 2014-01-13 00:45:49 +09:00
Yuichi Nishiwaki 10e5546a53 functions defined by pic_defun will be implicitly renamed 2014-01-12 16:09:19 +09:00
Yuichi Nishiwaki a9f4eff13e add parameter primitives: (picrin parameter) library 2014-01-09 00:39:13 +09:00
Yuichi Nishiwaki e3e1ba4c11 rename procedure creation functions 2014-01-08 22:44:53 +09:00
Yuichi Nishiwaki 33cbf5ff6a configurable none value 2014-01-08 15:22:23 +09:00
OGINO Masanori ceffd8a3bd Cast to `void *` for '%p' format specifiers.
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-01-05 18:10:33 +09:00
Yuichi Nishiwaki fd8c551159 use print_code for CODE_EXECUTE_HOOK 2013-12-10 01:47:45 -08:00
Yuichi Nishiwaki 7f5a4c34a3 register and export to library functions defined by pic_defun 2013-12-07 20:47:09 -08:00
Yuichi Nishiwaki 931565d4ce add pic_lib 2013-12-07 03:58:18 -08:00
Yuichi Nishiwaki a7df867a55 suppress gcc's warnings 2013-12-03 06:10:46 -08:00
Yuichi Nishiwaki ab5de1c0c4 fix #6 2013-11-29 12:10:02 +09:00
Yuichi Nishiwaki ab74920a6f add pic_sc (syntactic closure) structure 2013-11-27 15:04:02 +09:00
Yuichi Nishiwaki d7f8d67bf2 debug-print when unbound symbol is found 2013-11-26 16:52:30 -08:00
Yuichi Nishiwaki c59d8f601b add PIC_TT_SENV and PIC_TT_SYNTAX 2013-11-26 04:05:02 -08:00
Yuichi Nishiwaki 0a521c2314 add overflow guards to some global stacks (or value pools) 2013-11-22 06:35:51 -08:00
Yuichi Nishiwaki 6581177ec5 realloc pic->irep when exhausted 2013-11-21 06:28:43 -08:00
Yuichi Nishiwaki 6f94202e13 s/pic_expand/pic_macroexpand/g 2013-11-18 16:36:44 +09:00
Yuichi Nishiwaki fdc9bfea4e initial exception handling support 2013-11-17 17:25:26 +09:00
Yuichi Nishiwaki 5947240614 [bugfix] fix crash on deeply nested lambdas 2013-11-17 13:12:59 +09:00
Yuichi Nishiwaki 14ad038051 wipe reallocated cv_tbl 2013-11-17 13:10:36 +09:00
Yuichi Nishiwaki 1ef3ed91a2 fix for-each compilation bug 2013-11-16 23:32:34 +09:00
Yuichi Nishiwaki e94aaffd34 shrink default arena size! 2013-11-15 19:54:47 +09:00
Yuichi Nishiwaki 6de5bc7550 propagate jmp_bufs (useful when C stack and scheme stack interleave) 2013-11-14 19:26:06 +09:00
Yuichi Nishiwaki b56b86aae2 [bugfix] variables defined by internal definitions may be referred from
inner environments
2013-11-14 16:52:49 +09:00
Yuichi Nishiwaki b9fce69c61 support internal definitions 2013-11-13 18:08:22 +09:00
Yuichi Nishiwaki 64ae8bd7b0 initial call/cc support 2013-11-09 14:14:25 +09:00
Yuichi Nishiwaki 62f19e85c5 varg * and / operators 2013-11-07 12:52:59 +09:00
Yuichi Nishiwaki 9d304be02e varg - operator 2013-11-07 12:18:00 +09:00
Yuichi Nishiwaki b0a4249220 varg + operator 2013-11-06 18:55:06 +09:00
Yuichi Nishiwaki aebf7f00f7 initial bytevector support 2013-11-04 22:38:23 -05:00
Yuichi Nishiwaki 1675ad9f52 initial char support 2013-11-04 21:37:18 -05:00
Yuichi Nishiwaki 8aca1ebc96 rename pic_code.u.c -> pic_code.u.r 2013-11-04 21:32:09 -05:00
Yuichi Nishiwaki fb66791216 do not create pic_env object when not needed 2013-11-04 20:27:44 -05:00
Yuichi Nishiwaki 86458359e3 reduce allocation size when creating pic_env object in OP_CALL 2013-11-04 20:23:06 -05:00
Yuichi Nishiwaki 2dc955aaf5 s/cv_tbl/dirty_flags/g 2013-11-04 19:14:21 -05:00
Yuichi Nishiwaki f5b98e38f8 [bugfix] allocate pic_env values area for local variables 2013-11-04 15:32:26 -05:00
Yuichi Nishiwaki 76dadc8448 remove toplevel pic_env that is never used 2013-11-04 15:30:11 -05:00
Yuichi Nishiwaki 346b159e7e add some debug prints 2013-11-01 19:02:46 +09:00
Yuichi Nishiwaki 8007baf011 [bugfix] allocate space to hold closed rest args variable in pic_env 2013-11-01 18:55:23 +09:00
Yuichi Nishiwaki 6fcce1cd23 cleanup 2013-10-30 16:43:15 +09:00
Yuichi Nishiwaki b7e55b043f introduce legacy macros 2013-10-30 16:42:44 +09:00
Yuichi Nishiwaki d4001a70ae VM works with procs not terminated with OP_STOP 2013-10-30 15:36:28 +09:00
Yuichi Nishiwaki 5be1cd7092 add some comments in codegen_scopes' members 2013-10-30 12:16:45 +09:00
Yuichi Nishiwaki a4d20060e7 compile tail calls into OP_TAILCALL 2013-10-30 10:04:23 +09:00
Yuichi Nishiwaki e4b913cb15 add OP_TAILCALL 2013-10-30 10:03:46 +09:00
Yuichi Nishiwaki 4721f42f5a bugfix: define can take only 1 argument 2013-10-29 22:16:16 +09:00
Yuichi Nishiwaki edd890ae0b support 2-argument if syntax 2013-10-29 22:15:58 +09:00
Yuichi Nishiwaki edcd060a8a initial vector support 2013-10-29 15:51:37 +09:00