Commit Graph

785 Commits

Author SHA1 Message Date
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
Yuichi Nishiwaki 41dea6c5d2 split functions related to 'write' procedure into files 2014-01-16 21:31:46 +09:00
Yuichi Nishiwaki 73ad915fcf set 0 to file->flags by default 2014-01-16 21:00:45 +09:00
Yuichi Nishiwaki 8709ada140 replace fpos_t with long since old versions of clang and gcc seem claim
that fpos_t and long are not convertible
2014-01-16 20:13:13 +09:00
Yuichi Nishiwaki 31adf248af suppress warnings 2014-01-16 20:08:22 +09:00
Yuichi Nishiwaki 6f32cbdea3 handle end-of-file while reading file object 2014-01-16 19:56:45 +09:00
Yuichi Nishiwaki 74be43195d cosmetic fixes 2014-01-16 19:56:02 +09:00
Yuichi Nishiwaki 1b45536fe2 [bugfix] ungetc enters infinite loop 2014-01-16 19:54:19 +09:00
Yuichi Nishiwaki 44be26b36f want reader and writer to return the actual byte count, not item count 2014-01-16 19:53:46 +09:00
Yuichi Nishiwaki 2ff0a5061b wrong timing and offset for buffer shifting in reading 2014-01-16 19:52:42 +09:00
Yuichi Nishiwaki 9aef0cdac0 get rid of a small redundant code 2014-01-16 19:51:40 +09:00
Yuichi Nishiwaki f564626556 pic_fflush and pic_ffill should change cursor positions 2014-01-16 19:51:03 +09:00
Yuichi Nishiwaki a5f478a7d5 currently pic_file don't support _IONBF mode 2014-01-16 19:49:41 +09:00
Yuichi Nishiwaki 5ee9539e9b impl pic_ungetc 2014-01-16 18:42:25 +09:00
Yuichi Nishiwaki 4e495c6fcc [WIP] add a buffer for ungetc 2014-01-16 18:42:10 +09:00
Yuichi Nishiwaki 9897f7581f impl pic_fread with buffering 2014-01-16 18:41:10 +09:00
Yuichi Nishiwaki fc506674c0 add missing includes 2014-01-16 18:39:38 +09:00
Yuichi Nishiwaki ce21353d50 impl pic_fwrite with simple buffering 2014-01-16 18:39:03 +09:00
Yuichi Nishiwaki 14b73501c4 [bugfix] call setvbuf in pic_file constructor 2014-01-16 18:37:54 +09:00
Yuichi Nishiwaki 3d72464e80 impl pic_fflush 2014-01-16 18:36:59 +09:00
Yuichi Nishiwaki eca456f875 add IO buffering (setvbuf) 2014-01-16 18:36:47 +09:00
Yuichi Nishiwaki 4d0a448a44 impl char/string IO functions 2014-01-16 18:35:22 +09:00
Yuichi Nishiwaki f043fbb0a7 impl pic_fopen and pic_close. add FILE*-pic_file* adapter functions. 2014-01-16 18:34:04 +09:00
Yuichi Nishiwaki 392549b315 replace old stdio functions with picrin's wrapper impls 2014-01-16 18:32:05 +09:00
Yuichi Nishiwaki 63d23bdeda [WIP] add generic file object constructor (pic_funopen) 2014-01-16 18:27:05 +09:00
Yuichi Nishiwaki 34d52e1a51 use pic_load to load built-in.scm 2014-01-13 14:52:19 +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 daf67c34d9 = procedure is brokwn 2014-01-13 13:55:08 +09:00
Yuichi Nishiwaki 5b068d7cc7 implement load procedure 2014-01-13 13:54:52 +09:00
Yuichi Nishiwaki 9d54244424 match the order of functions with R7RS 2014-01-13 02:07:38 +09:00
Yuichi Nishiwaki 4a14531702 add write-char and flush-output-port 2014-01-13 02:06:09 +09:00
Yuichi Nishiwaki a232defd00 newline can take an optional argument 2014-01-13 01:47:46 +09:00
Yuichi Nishiwaki 19a561132e fix assert_port_profile to show clearer error message 2014-01-13 01:47:15 +09:00
Yuichi Nishiwaki ec9305e9a5 current write implementation in fact behaves as same as write-simple 2014-01-13 01:34:59 +09:00
Yuichi Nishiwaki 70f6b59856 add peek-char 2014-01-13 01:34:26 +09:00
Yuichi Nishiwaki 4a87120eb6 add read-char procedure 2014-01-13 00:51:30 +09:00
Yuichi Nishiwaki 1c14feffa4 add accessors of stdio ports 2014-01-13 00:51:19 +09:00
Yuichi Nishiwaki 3fb407329f implement missing pic_ref definition 2014-01-13 00:50:45 +09:00
Yuichi Nishiwaki 4a7a32829d use the new feature of pic_get_args (port specifier) 2014-01-13 00:50:18 +09:00
Yuichi Nishiwaki d9911cabc8 publish pic_eof_object() 2014-01-13 00:49:25 +09:00
Yuichi Nishiwaki 322021e5d5 pic_get_args supports port object 2014-01-13 00:48:00 +09:00
Yuichi Nishiwaki 6b808354c0 global variable accessors don't require library object 2014-01-13 00:45:49 +09:00
Yuichi Nishiwaki dbf73ecd7a refactor std ports 2014-01-13 00:02:58 +09:00
Yuichi Nishiwaki 0af0ecafb6 add standard io ports 2014-01-12 23:57:50 +09:00
Yuichi Nishiwaki f4202a7555 don't need to strip syntactic information away from quoted expressions 2014-01-12 20:21:07 +09:00
Yuichi Nishiwaki b70c689b1f keep track of xhash's HEAD 2014-01-12 19:53:20 +09:00
Yuichi Nishiwaki a6fafd6422 add missing 'static' modifier 2014-01-12 16:15:04 +09:00
Yuichi Nishiwaki d6abb5c0ba add defvar 2014-01-12 16:09:27 +09:00
Yuichi Nishiwaki 10e5546a53 functions defined by pic_defun will be implicitly renamed 2014-01-12 16:09:19 +09:00
Yuichi Nishiwaki 11ead27614 wrapper/unwrapper for var-proc conversion 2014-01-12 16:08:27 +09:00
Yuichi Nishiwaki 133e4c00bd leave a comment about conv parameter of pic_new_var is nullable 2014-01-12 16:05:42 +09:00
Yuichi Nishiwaki 944111ba09 make gensym API public 2014-01-12 16:03:36 +09:00
Yuichi Nishiwaki 825cde998b s/pic_proc_cv_reserve/pic_proc_cv_init/g 2014-01-12 13:02:16 +09:00
Yuichi Nishiwaki 45c49fdec3 don't rename each symbol more than a time 2014-01-10 17:55:58 +09:00
Yuichi Nishiwaki 62e52be061 [bugfix] macroexpand may return a non-symbol value even if passed a symbol. 2014-01-10 17:55:13 +09:00
Yuichi Nishiwaki 57253f9a6c compare is allowed to take non-symbol values 2014-01-10 17:52:31 +09:00
Yuichi Nishiwaki a159e52ae6 [bugfix] wrong error message 2014-01-10 17:49:27 +09:00
Yuichi Nishiwaki 6bdc9b360e [bugfix] wrong external representation for syntax type 2014-01-10 16:22:36 +09:00
Yuichi Nishiwaki 2e66b533c1 fix a small bug in a comment 2014-01-10 16:22:07 +09:00
Yuichi Nishiwaki 9b02247082 initial explicit renaming macro prototype 2014-01-09 16:34:22 +09:00
Yuichi Nishiwaki 8e4e226bd3 pic_get_args supports symbol 2014-01-09 16:33:38 +09:00
Yuichi Nishiwaki e8a50410a5 suppress unreachable warnings 2014-01-09 00:42:23 +09:00
Yuichi Nishiwaki 76f8916dca show debug print when a library is reopened 2014-01-09 00:40:13 +09:00
Yuichi Nishiwaki a9f4eff13e add parameter primitives: (picrin parameter) library 2014-01-09 00:39:13 +09:00
Yuichi Nishiwaki d7c510ae40 parameter implementation prototype 2014-01-09 00:38:09 +09:00
Yuichi Nishiwaki 92ceedbd15 add accessor functions to modify closed variables 2014-01-08 22:45:28 +09:00
Yuichi Nishiwaki e3e1ba4c11 rename procedure creation functions 2014-01-08 22:44:53 +09:00
Yuichi Nishiwaki e7f765d218 pic_get_args supports pic_procs 2014-01-08 20:53:28 +09:00
Yuichi Nishiwaki b9ef51530f don't intern symbols newly generated by new_uniq_sym 2014-01-08 20:41:29 +09:00
Yuichi Nishiwaki dccc234fd9 add pic_import 2014-01-08 15:38:31 +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
OGINO Masanori da1eb0bc10 Remove '\e'. The escape sequence is not in ISO C.
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-01-05 18:00:02 +09:00
Yuichi Nishiwaki 76f5cbf0b3 ENDLIBRARY requires a trailing semicolon 2013-12-10 07:26:43 -08:00
Yuichi Nishiwaki d23f686485 newline is not an element of (scheme write) 2013-12-10 05:59:03 -08:00
Yuichi Nishiwaki cdb1911f9f define (scheme inexact) library 2013-12-10 05:40:44 -08:00
Yuichi Nishiwaki 6dc66d354c add missing finite? function 2013-12-10 05:40:26 -08:00
Yuichi Nishiwaki afe630bc42 use find_library inside in_library 2013-12-10 05:40:03 -08:00
Yuichi Nishiwaki fb34b71de1 [bugfix] identifier=? dies when take auxiliary syntax (because they emit
errors during expansion)
2013-12-10 01:50:53 -08:00
Yuichi Nishiwaki 41ffd0d7e5 define macro primitives (such as make-syntactic-closure) in (picrin macro) 2013-12-10 01:49:48 -08:00
Yuichi Nishiwaki fd8c551159 use print_code for CODE_EXECUTE_HOOK 2013-12-10 01:47:45 -08:00
Yuichi Nishiwaki e021ac52ac identifier=? dons not necessarily take identifiers 2013-12-10 00:22:34 -08:00
Yuichi Nishiwaki 038020ff9f sequentially evaluate programs declared in library at the macroexpansion phase 2013-12-09 23:00:13 -08:00
Yuichi Nishiwaki bae4e6974b [bugfix] create a new senv before allocate a library 2013-12-09 22:59:27 -08:00
Yuichi Nishiwaki 74feec78f1 always emit the same unique symbol for unbound variable 2013-12-09 09:32:30 -08:00
Yuichi Nishiwaki 725297384a define-syntax is now capable of takeing a synclo object at the position
of the syntax name
2013-12-09 09:26:28 -08:00
Yuichi Nishiwaki d871c6f06c import and export take multiple spec in a time 2013-12-09 09:22:38 -08:00
Yuichi Nishiwaki 39b28fa674 debug print might cause segv 2013-12-09 09:09:24 -08:00
Yuichi Nishiwaki eeb09f336e Merge branch 'master' into libraries
Conflicts:
	src/macro.c
	src/pair.c
2013-12-09 08:27:29 -08:00
Yuichi Nishiwaki e05a469a06 fix ir-macro-transformer 2013-12-09 07:27:11 -08:00
Yuichi Nishiwaki 0dddddab55 ir-macro-transformer was broken 2013-12-09 07:26:51 -08:00
Yuichi Nishiwaki d21db9ae81 execute winded handlers when exit is called 2013-12-09 13:51:34 +09:00
Yuichi Nishiwaki 5035831d84 [bugfix] syntax objects should be brought to imported library's
senv->stx holder
2013-12-08 00:52:34 -08:00
Yuichi Nishiwaki dda8ad367c split built-in functins into libraries 2013-12-07 23:17:28 -08:00
Yuichi Nishiwaki 906f2c8a93 make-library returns existing library if name conflicts 2013-12-07 23:15:16 -08:00
Yuichi Nishiwaki fabe70aaf2 [bugfix] assq and assoc should return false if key is not found 2013-12-07 23:13:45 -08:00
Yuichi Nishiwaki bea04325e5 define arithmetic operators as c functions 2013-12-07 20:55:04 -08:00
Yuichi Nishiwaki 8720ffa0c5 s/DEFINE_MATH_PRED/DEFINE_ARITH_CMP/g 2013-12-07 20:55:04 -08:00
Yuichi Nishiwaki 617ee5aa68 add pic_parse 2013-12-07 20:54:23 -08:00
Yuichi Nishiwaki 24a41d8e27 add pic_assoc 2013-12-07 20:52:58 -08:00
Yuichi Nishiwaki 28da6d71ba add pic_equal_p 2013-12-07 20:52:58 -08:00
Yuichi Nishiwaki fb2e7ac498 declare all built-in functions and variables in (scheme base) library 2013-12-07 20:48:24 -08:00
Yuichi Nishiwaki 47dd186535 do not include core syntaces in the default library environment 2013-12-07 20:47:55 -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 e71c5abfdb rename unbound symbols by default 2013-12-07 20:45:47 -08:00
Yuichi Nishiwaki 01e60b5d8e add pic_export and pic_export_as 2013-12-07 20:44:39 -08:00
Yuichi Nishiwaki 0110370cc4 improve reusability 2013-12-07 20:43:57 -08:00
Yuichi Nishiwaki 57ca3174aa define arithmetic operators as c functions 2013-12-07 20:43:36 -08:00
Yuichi Nishiwaki 629ee06b5f s/DEFINE_MATH_PRED/DEFINE_ARITH_CMP/g 2013-12-07 20:42:10 -08:00
Yuichi Nishiwaki 791ab95219 [bugfix] taking a wrong symbol for exporting 2013-12-07 19:03:18 -08:00
Yuichi Nishiwaki 0f491adc73 select library during macroexpanding define-library 2013-12-07 18:59:35 -08:00
Yuichi Nishiwaki 7cdcbd4604 set name to each library 2013-12-07 18:59:13 -08:00
Yuichi Nishiwaki 35b99d11a8 let make_library return a library 2013-12-07 18:44:14 -08:00
Yuichi Nishiwaki c764d28878 add pic_parse 2013-12-07 18:38:47 -08:00
Yuichi Nishiwaki 6b2d6a98eb Revert "change APIs of library functions"
This reverts commit 0115ede4de.

Conflicts:
	include/picrin.h
2013-12-07 18:27:08 -08:00
Yuichi Nishiwaki 818430bb81 implement import/export syntax 2013-12-07 09:42:34 -08:00
Yuichi Nishiwaki c989687564 [workaround] load core syntaces initially 2013-12-07 07:14:35 -08:00
Yuichi Nishiwaki 0115ede4de change APIs of library functions 2013-12-07 07:11:22 -08:00
Yuichi Nishiwaki 9cb777eec3 select the minimal library at first 2013-12-07 07:05:22 -08:00
Yuichi Nishiwaki 7c6ba80581 add library operation methods 2013-12-07 07:05:06 -08:00
Yuichi Nishiwaki 1ac5b6458c add pic_null_syntactic_env and pic_minimal_syntactic_env 2013-12-07 07:04:26 -08:00
Yuichi Nishiwaki aac2082991 add pic_assoc 2013-12-07 06:30:21 -08:00
Yuichi Nishiwaki dcb5b448cd add pic_equal_p 2013-12-07 06:29:29 -08:00
Yuichi Nishiwaki 381ed58bff add global library table 2013-12-07 05:36:14 -08:00
Yuichi Nishiwaki 931565d4ce add pic_lib 2013-12-07 03:58:18 -08:00
Yuichi Nishiwaki acbcde3b6a initial library support 2013-12-07 03:04:27 -08:00
Yuichi Nishiwaki a1e2e41840 add some symbols about library 2013-12-07 02:31:04 -08:00
Yuichi Nishiwaki 25378e3813 cosmetic changes 2013-12-06 07:51:32 -08:00
Yuichi Nishiwaki b3a2da1079 Merge remote-tracking branch 'origin/master' 2013-12-06 04:48:10 -08:00
Yuichi Nishiwaki ef04e3f02c add pic_core_syntactic_env 2013-12-06 18:04:36 +09:00
Yuichi Nishiwaki 4d8ffa43c8 delete auto resource releasing facility 2013-12-03 08:16:53 -08:00
Yuichi Nishiwaki 7e69ae1878 add port-close procedure 2013-12-03 08:16:13 -08:00
Yuichi Nishiwaki afffa20785 pic_apply supports multiple arguments 2013-12-03 06:40:50 -08:00
Yuichi Nishiwaki a7df867a55 suppress gcc's warnings 2013-12-03 06:10:46 -08:00
Yuichi Nishiwaki 4e98d37ab1 remove old debug prints 2013-12-03 13:08:23 +09:00
Yuichi Nishiwaki dc7c801c38 exprs during macroexpansion may have syntactic-closure in the tail position 2013-12-03 13:08:00 +09:00
Yuichi Nishiwaki 761deffe1f macroexpand_list supports any kind of improper list 2013-12-03 13:07:25 +09:00
Yuichi Nishiwaki b5b30de05a remove a field for debug of union header 2013-12-03 11:49:32 +09:00
Yuichi Nishiwaki 7685afdb79 fix logic flaw in GC 2013-12-03 11:45:38 +09:00
Yuichi Nishiwaki 704b2d148b rewrite pic_type_repr 2013-12-02 13:39:11 +09:00
Yuichi Nishiwaki a43e3248e8 calloc should take size_t 2013-12-01 12:44:43 +09:00
Yuichi Nishiwaki 04434f44fd cosmetic changes 2013-11-30 00:07:49 +09:00
Yuichi Nishiwaki 21f2c58a53 [gc][bugfix] sweeping failed when the heap gets completely
exhausted (i.e. all blocks' size are zero)
2013-11-29 12:10:10 +09:00
Yuichi Nishiwaki f03a153774 add freed object counter 2013-11-29 12:10:10 +09:00
Yuichi Nishiwaki 4c5d3b4257 Revert "[bugfix] do not fuse end-of-page block into other blocks"
This reverts commit 5656590fa0.
2013-11-29 12:10:10 +09:00
Yuichi Nishiwaki ab5de1c0c4 fix #6 2013-11-29 12:10:02 +09:00
Yuichi Nishiwaki 5656590fa0 [bugfix] do not fuse end-of-page block into other blocks 2013-11-28 21:58:25 +09:00
Yuichi Nishiwaki e10bbac8e5 accept injected symbols (syntactic-closures) at the places of lambda formals 2013-11-28 18:40:31 +09:00
Yuichi Nishiwaki 3266ae7d3c [bugfix] missed to mark stx->senv 2013-11-28 13:15:27 +09:00
Yuichi Nishiwaki c2d7f3d1f2 [bugfix] wrong size for pic_proc allocation 2013-11-27 06:31:49 -08:00
Yuichi Nishiwaki 49caf79ce6 [bugfix] new_uniq_sym must take one more byte chunk for new string 2013-11-27 06:31:12 -08:00
Yuichi Nishiwaki 7b8ee3eb97 add er-macro-transformer 2013-11-27 17:26:07 +09:00
Yuichi Nishiwaki 1ab588d21f added hygienic macro facility! Fooo! 2013-11-27 15:58:28 +09:00
Yuichi Nishiwaki 9a027dae6e add error guard 2013-11-27 15:57:23 +09:00
Yuichi Nishiwaki bedc5dc6be revise output format of syntactic closure object 2013-11-27 15:56:29 +09:00
Yuichi Nishiwaki ceedd05ef0 [bugfix] pic_apply_argv concatenated args in reverse order 2013-11-27 15:55:54 +09:00
Yuichi Nishiwaki 78cafe3db7 add make-syntactic-closure function 2013-11-27 15:04:44 +09:00
Yuichi Nishiwaki ab74920a6f add pic_sc (syntactic closure) structure 2013-11-27 15:04:02 +09:00
Yuichi Nishiwaki a7a3bfc270 [CSE] add new_global_senv and new_local_senv 2013-11-27 14:19:46 +09:00
Yuichi Nishiwaki b4218a7a03 cosmetic changes 2013-11-27 14:00:23 +09:00
Yuichi Nishiwaki 73831283b6 cleanup 2013-11-27 13:51:24 +09:00
Yuichi Nishiwaki c1788d31b0 Merge branch 'master' into syntactic-closure 2013-11-27 13:06:37 +09:00
Yuichi Nishiwaki bbe3e990e4 Revert "pluggable heap pages"
This reverts commit e6523730a4.
2013-11-27 13:04:12 +09:00
Yuichi Nishiwaki 5e3f2dacf4 Revert "add_heap_page should not be invoked in gc_alloc, but should be in obj_alloc"
This reverts commit f11623f075.
2013-11-27 13:04:03 +09:00
Yuichi Nishiwaki 94aac37443 macros must be added to var_tbl 2013-11-26 17:43:59 -08:00
Yuichi Nishiwaki d2af692280 add a fixme comment 2013-11-26 17:43:49 -08:00
Yuichi Nishiwaki d7f8d67bf2 debug-print when unbound symbol is found 2013-11-26 16:52:30 -08:00
Yuichi Nishiwaki 38ab43d7fc [bugfix] binding leak 2013-11-26 16:51:48 -08:00
Yuichi Nishiwaki 3710d5feea support varg lambda 2013-11-26 16:51:17 -08:00
Yuichi Nishiwaki b2704fb123 increment xlen in the end 2013-11-26 16:50:38 -08:00
Yuichi Nishiwaki c336a354e4 publish pic_defmacro as a public API 2013-11-26 09:09:15 -08:00
Yuichi Nishiwaki 2dee30a0b5 macroexpand_list supports improper list 2013-11-26 09:07:57 -08:00
Yuichi Nishiwaki 43d449d2aa s/define_macro/pic_defmacro/g 2013-11-26 09:07:06 -08:00
Yuichi Nishiwaki cbd636e0a7 [bugfix] do not release pic->var_tbl when a senv holding it is dead 2013-11-26 09:00:16 -08:00
Yuichi Nishiwaki e7673c65bd [bugfix] syntaces should be registered to var_tbl, not global_tbl 2013-11-26 08:59:16 -08:00
Yuichi Nishiwaki be311cb96f replace old macroexpand facility with new renamer implementation 2013-11-26 08:43:58 -08:00
Yuichi Nishiwaki 1f3f7c99a2 save macro procesures in each syntax object 2013-11-26 08:42:13 -08:00
Yuichi Nishiwaki 3d1f74d8f5 add 'define-macro' core syntax 2013-11-26 08:41:01 -08:00
Yuichi Nishiwaki ddbc2c83a2 add missing core symbol registration 2013-11-26 08:39:37 -08:00
Yuichi Nishiwaki 3009473d52 debug prints for macroexpand 2013-11-26 08:38:26 -08:00
Yuichi Nishiwaki f6bc51d16d add xlen/xcapa member to pic_senv 2013-11-26 08:36:58 -08:00
Yuichi Nishiwaki a32473ae92 add core syntaces in pic_open 2013-11-26 08:35:35 -08:00
Yuichi Nishiwaki a2e1f21b29 add global identifier table 2013-11-26 08:30:30 -08:00
Yuichi Nishiwaki 673b66a723 use register_core_symbol macro to initialize pic_state 2013-11-26 06:40:48 -08:00
Yuichi Nishiwaki ad3c268f81 insert renamer pass after old macroexpansion phase 2013-11-26 04:08:46 -08:00
Yuichi Nishiwaki 1ad562f1a8 [wip] add renamer 2013-11-26 04:06:46 -08:00
Yuichi Nishiwaki 573ba79782 [bugfix] log10 must not be given 0 2013-11-26 04:06:03 -08:00
Yuichi Nishiwaki b7f0f3dfb3 [bugfix] get rid of a comma 2013-11-26 04:05:37 -08:00
Yuichi Nishiwaki c59d8f601b add PIC_TT_SENV and PIC_TT_SYNTAX 2013-11-26 04:05:02 -08:00
Yuichi Nishiwaki 3c65025394 add macro.h 2013-11-26 04:03:52 -08:00
Yuichi Nishiwaki bf6a337a5f add pic_cxxr functions 2013-11-26 02:42:13 -08:00
Yuichi Nishiwaki 72cf45d4ea add `new_uniq_sym` function 2013-11-25 23:38:39 -08:00
Yuichi Nishiwaki 4701f86ff0 fix a grammar error 2013-11-26 16:22:49 +09:00
Yuichi Nishiwaki 52f1776b22 cleanup 2013-11-25 11:10:57 +09:00
Yuichi Nishiwaki f11623f075 add_heap_page should not be invoked in gc_alloc, but should be in obj_alloc 2013-11-25 00:24:03 +09:00
Yuichi Nishiwaki df20de5285 push back dead objects to free list 2013-11-25 00:22:32 +09:00
Yuichi Nishiwaki 40bfe13895 add a comment to sweep algorithm 2013-11-22 07:30:29 -08:00
Yuichi Nishiwaki 563b65efde s/expand.c/macro.c/ 2013-11-22 07:22:52 -08:00
Yuichi Nishiwaki 579735d16e s/heap_page/pic_heap/g 2013-11-22 07:19:31 -08:00
Yuichi Nishiwaki e6523730a4 pluggable heap pages 2013-11-22 07:12:03 -08:00
Yuichi Nishiwaki 1be72f1e18 rewrite gc! 2013-11-22 06:38:29 -08:00
Yuichi Nishiwaki 2dd293c0f9 [workaround] add stack overflow detector 2013-11-22 06:37:57 -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 23b806cc41 print propagated error messages when stdlib failed to build 2013-11-22 06:34:34 -08:00
Yuichi Nishiwaki 4b326e4f6e add new compilation flag GC_DEBUG_DETAIL 2013-11-22 03:29:05 -08:00
Yuichi Nishiwaki 4004282e50 alloc stacks by calloc, not malloc 2013-11-22 03:28:09 -08:00
Yuichi Nishiwaki 626c0adb3a fix broken pic_type_repr 2013-11-22 03:27:09 -08:00
Yuichi Nishiwaki f610424ae5 remove unnecessary protect 2013-11-22 01:53:22 -08:00
Yuichi Nishiwaki 05b2717b9e less memory usage of pic_reverse 2013-11-21 06:32:56 -08:00
Yuichi Nishiwaki 00fc0ee931 protect more objects during expansion 2013-11-21 06:31:32 -08:00
Yuichi Nishiwaki f146287eff load_stdlib releases arena objects every time evaluating exprssion 2013-11-21 06:30:33 -08:00
Yuichi Nishiwaki 6581177ec5 realloc pic->irep when exhausted 2013-11-21 06:28:43 -08:00