Commit Graph

696 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 2dd8d2746d move all contents in value.c to value.h 2014-01-30 21:51:26 +09:00
Yuichi Nishiwaki f29e7b9cf1 inline definitions for pic_*_value()s 2014-01-30 20:58:27 +09:00
Yuichi Nishiwaki 173d4dcf07 use UNUSED macro 2014-01-30 18:15:59 +09:00
Yuichi Nishiwaki 8ae55bd9b6 unification uses of int and size_t. use size_t for every variable that
can possibly be used as an array index.
2014-01-30 18:14:33 +09:00
Yuichi Nishiwaki c1e2528395 depress warnings about unused variables in scan.l 2014-01-30 18:10:56 +09:00
Yuichi Nishiwaki 1d2fa33372 some of global tables are missed to free 2014-01-30 14:34:09 +09:00
Yuichi Nishiwaki e8258edfa7 remove use of typo'd name function 2014-01-30 14:33:16 +09:00
Yuichi Nishiwaki 4d95707db5 add FALLTHROUGH macro 2014-01-30 14:13:01 +09:00
Yuichi Nishiwaki 7c35e50260 add NORETURN macro 2014-01-30 14:08:36 +09:00
Yuichi Nishiwaki 75037adfaa hide debug prints 2014-01-30 13:50:47 +09:00
Yuichi Nishiwaki f32e542392 analyze should not emit raw self-evaluating values 2014-01-30 13:47:58 +09:00
Yuichi Nishiwaki 64038fae02 unwrap begin expression if it contains 1 or 0 expressions inside 2014-01-30 13:36:49 +09:00
Yuichi Nishiwaki d471dba322 current codegen not supporting env chain short cut 2014-01-27 22:24:12 +09:00
Yuichi Nishiwaki 055272f0d5 arena management in pic_list 2014-01-27 22:20:46 +09:00
Yuichi Nishiwaki b5cf174b5c wrong FOLD_ARGS impl 2014-01-27 22:20:31 +09:00
Yuichi Nishiwaki 8255e11486 gc management 2014-01-27 22:20:18 +09:00
Yuichi Nishiwaki 8343ccd675 [bugfix] lset never be emit 2014-01-27 22:20:08 +09:00
Yuichi Nishiwaki 82ea416c34 get rid of redundant code in is_closed function 2014-01-27 22:19:33 +09:00
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 09840601c4 fflush buffer in pic_debug 2014-01-24 17:11:52 +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 2e28f604a6 Merge branch 'master' into analyzer
Conflicts:
	include/picrin/pair.h
	src/pair.c
2014-01-23 16:21:10 +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 95c5361197 rewrite min/max/gcd/lcm with C 2014-01-22 23:47:33 +09:00
Yuichi Nishiwaki 2f965fa809 replace some number predicates with c imples 2014-01-22 22:58:08 +09:00
Yuichi Nishiwaki 5dd66cbcd1 replace list-copy and make-list impls by scheme with ones by C 2014-01-22 22:37:27 +09:00
Yuichi Nishiwaki c539f889cd native implementatino of for-each 2014-01-22 22:21:48 +09:00
Yuichi Nishiwaki 85a5745716 native implmentation of map 2014-01-22 22:18:25 +09:00
Yuichi Nishiwaki 74088d0130 replace list-set! impl with C impl 2014-01-22 21:35:13 +09:00
Yuichi Nishiwaki d07456466d replace cxxr and list? impls by scheme with ones by C 2014-01-22 21:29:11 +09:00
Yuichi Nishiwaki 7fc2885fad replace list impl by scheme with impl by C 2014-01-22 21:20:13 +09:00
Yuichi Nishiwaki bbd1ec3fbb replace length/reverse/append impls with c functions 2014-01-22 21:14:10 +09:00
Yuichi Nishiwaki 67d4d28d19 impl list-ref and list-tail as C functions 2014-01-22 21:00:29 +09:00
Yuichi Nishiwaki 7865cfe9b3 add pic_append 2014-01-22 20:57:14 +09:00
Yuichi Nishiwaki a443d9e3f6 add pic_list_ref and pic_list_tail 2014-01-22 20:57:05 +09:00
Yuichi Nishiwaki 655eb7a3bd add pic_compile 2014-01-20 16:57:39 +09:00
Yuichi Nishiwaki 293fef5235 add pic_list_ref 2014-01-20 16:43:54 +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 0ceb9c9953 add sSYMBOLs to pic_state 2014-01-18 11:47:32 -08:00
Yuichi Nishiwaki 395f48bc81 move rSYMBOLs from pic_state to codegen_state 2014-01-18 11:47:18 -08:00
Yuichi Nishiwaki 9495e9bf5c alloc functions may take 0 for the size 2014-01-18 07:33:51 -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 a0f27a68cd grammartical fix 2014-01-18 22:31:40 +09:00
Yuichi Nishiwaki fdac5061fd free irep->irep 2014-01-18 22:31:25 +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 a9574155b8 do not free objects in pic->irep by hands 2014-01-18 16:59:43 +09:00
Yuichi Nishiwaki 82e205bbd0 Merge branch 'master' into irep-gc 2014-01-18 16:58:24 +09:00
Yuichi Nishiwaki 9d18af51da some global stacks are missed to free 2014-01-18 16:58:14 +09:00
Yuichi Nishiwaki 0db09b146c ireps generated by top codegen are not registered to pic->irep. get them
marked manually.
2014-01-18 16:56:20 +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 acb513aa16 publish pic_callcc 2014-01-18 16:08:07 +09:00
Yuichi Nishiwaki 3ff7d5b208 grammatical fix 2014-01-18 16:06:59 +09:00
Yuichi Nishiwaki ee4cb87083 impl pic_unwrap_var 2014-01-18 12:58:00 +09:00
Yuichi Nishiwaki a16dcb9931 impl pic_set 2014-01-18 12:55:44 +09:00
Yuichi Nishiwaki 4522dd47af do not put includes in header, but put it in c file 2014-01-18 12:43:38 +09:00
Yuichi Nishiwaki ca068f560b clarify license information 2014-01-17 20:58:31 +09:00
Yuichi Nishiwaki ecaf96ea14 add missing break statement 2014-01-17 13:16:55 +09:00
Yuichi Nishiwaki 43f3f6d0ce impl pic_close 2014-01-16 22:02:50 +09:00
Yuichi Nishiwaki db75df2624 add heap finializer 2014-01-16 22:02:30 +09:00
Yuichi Nishiwaki 8f2f1faf63 use shorter name for library external representation 2014-01-16 21:32:38 +09:00
Yuichi Nishiwaki 5929020429 reordering functions 2014-01-16 21:32:22 +09:00