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 |