Yuichi Nishiwaki
|
9d467e4d14
|
change some function names in cont.c
|
2013-11-09 15:25:19 +09:00 |
Yuichi Nishiwaki
|
76990d512f
|
suppress warnings
|
2013-11-09 15:24:58 +09:00 |
Yuichi Nishiwaki
|
64ae8bd7b0
|
initial call/cc support
|
2013-11-09 14:14:25 +09:00 |
Yuichi Nishiwaki
|
e373aa7b92
|
add missing pic_apply_argv definition
|
2013-11-09 14:13:14 +09:00 |
Yuichi Nishiwaki
|
0d28f246de
|
add pic_get_proc
|
2013-11-09 14:12:59 +09:00 |
Yuichi Nishiwaki
|
89eceec7f8
|
fix a bug that pic_apply faults when cfunc proc is given in DEBUG mode
|
2013-11-09 14:12:36 +09:00 |
Yuichi Nishiwaki
|
125189e25e
|
fix a bug in initial ciend setting
|
2013-11-09 14:11:54 +09:00 |
Yuichi Nishiwaki
|
d973f41d84
|
values of some compound types can reach to expanstion phase
|
2013-11-09 14:11:19 +09:00 |
Yuichi Nishiwaki
|
d3ed7bce53
|
eq? and eqv? return true when the pointers are equal
|
2013-11-09 13:41:11 +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
|
84c1156b9d
|
add unary minus operator
|
2013-11-07 12:17:37 +09:00 |
Yuichi Nishiwaki
|
ae376b4903
|
fix broken pic_float_p
|
2013-11-07 12:17:16 +09:00 |
Yuichi Nishiwaki
|
b0a4249220
|
varg + operator
|
2013-11-06 18:55:06 +09:00 |
Yuichi Nishiwaki
|
8a0b8da884
|
missing pic_eqv_p (when PIC_NAN_BOXING disabled)
|
2013-11-06 18:54:46 +09:00 |
Yuichi Nishiwaki
|
fc42c71304
|
add eqv? and equal?
|
2013-11-06 16:12:31 +09:00 |
Yuichi Nishiwaki
|
27dc840118
|
eq? predicate supports nan-boxing
|
2013-11-06 16:06:31 +09:00 |
Yuichi Nishiwaki
|
ac14a2271b
|
fix a bug in pic_false_value
|
2013-11-05 21:08:32 +09:00 |
Yuichi Nishiwaki
|
d9cb5d4eee
|
nan-boxing support
|
2013-11-05 20:33:24 +09:00 |
Yuichi Nishiwaki
|
e056586ab9
|
add pic_init_value macro
|
2013-11-05 00:42:44 -05:00 |
Yuichi Nishiwaki
|
46fccff806
|
cleanup
|
2013-11-05 00:30:03 -05:00 |
Yuichi Nishiwaki
|
5850699d75
|
force indirect reference to pic_value vtype
|
2013-11-04 23:37:08 -05:00 |
Yuichi Nishiwaki
|
9bba0353e8
|
add some bytevector primitives
|
2013-11-04 22:58:16 -05: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
|
5bb762b6e3
|
[bugfix] crash on calling vector-ref
|
2013-11-04 20:59:43 -05:00 |
Yuichi Nishiwaki
|
01a5819706
|
add vector primitives
|
2013-11-04 20:55:57 -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
|
d0602303e3
|
s/num_val/valuec/g
|
2013-11-04 16:07:36 -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
|
aeff650ccf
|
no need to control arena_index in pic_codegen
|
2013-11-04 13:18:46 -05:00 |
Yuichi Nishiwaki
|
808fe32ac0
|
add boolean functions
|
2013-11-03 11:39:13 -05:00 |
Yuichi Nishiwaki
|
404ccb7fb1
|
cleanup
|
2013-11-01 19:19:51 +09:00 |
Yuichi Nishiwaki
|
346b159e7e
|
add some debug prints
|
2013-11-01 19:02:46 +09:00 |
Yuichi Nishiwaki
|
1f0d096ed6
|
protect return values from gc at the end of VM
|
2013-11-01 18:56:17 +09:00 |
Yuichi Nishiwaki
|
77b6b94e74
|
gc must mark macros as well
|
2013-11-01 18:55:44 +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
|
75667d7649
|
[bugfix] push nil_value even if ci->argc equals varg proc's argc
|
2013-11-01 15:09:20 +09:00 |
Yuichi Nishiwaki
|
5a7b19b348
|
save each opcode currently fetched into 'c'
|
2013-11-01 14:44:26 +09:00 |
Yuichi Nishiwaki
|
5e74caa7a5
|
add some important primitive macros such as cond, and, or, ...etc
|
2013-10-31 00:31:33 +09:00 |
Yuichi Nishiwaki
|
207ec5bd24
|
add eq? function
|
2013-10-31 00:29:55 +09:00 |
Yuichi Nishiwaki
|
98a41314fe
|
parser returns multiple expressions in a call
|
2013-10-30 17:06:01 +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
|
abd5bc9216
|
fix a bug introded in prev prev commit
|
2013-10-30 15:40:40 +09:00 |
Yuichi Nishiwaki
|
1e4ff3276a
|
add pic_type_repr
|
2013-10-30 15:37:33 +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
|
611b273dcd
|
missed to add src/vector.c
|
2013-10-30 10:12:04 +09:00 |
Yuichi Nishiwaki
|
76ec63d1ca
|
adjust callinfo when OP_STOP
|
2013-10-30 10:05:47 +09:00 |
Yuichi Nishiwaki
|
9bc172bde5
|
add stack underflow detector
|
2013-10-30 10:05:21 +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
|
073f45666a
|
write function should be print even env objects
|
2013-10-29 16:44:38 +09:00 |
Yuichi Nishiwaki
|
a0a8a94abc
|
add gc stress test
|
2013-10-29 16:40:25 +09:00 |
Yuichi Nishiwaki
|
35bbd66812
|
fix gc bug: ci->env and env-up are nullable
|
2013-10-29 16:39:57 +09:00 |
Yuichi Nishiwaki
|
edcd060a8a
|
initial vector support
|
2013-10-29 15:51:37 +09:00 |
Yuichi Nishiwaki
|
49072bf5e4
|
[bugfix] fix closure issue
|
2013-10-29 10:16:56 +09:00 |
Yuichi Nishiwaki
|
15fdbc9c7d
|
add some symbol primitive functions
|
2013-10-29 02:49:38 +09:00 |
Yuichi Nishiwaki
|
4402497a46
|
fix a bug related to immediate symbol value
|
2013-10-29 02:33:49 +09:00 |
Yuichi Nishiwaki
|
9424f0b9c0
|
show codegen error message when compilation failure
|
2013-10-29 02:33:22 +09:00 |
Yuichi Nishiwaki
|
1d9410638d
|
remove unused auxuality data field proc->aux
|
2013-10-29 02:23:14 +09:00 |
Yuichi Nishiwaki
|
db38cdc7e0
|
check sym_pool size when interning symbol
|
2013-10-29 02:16:26 +09:00 |
Yuichi Nishiwaki
|
63b52991da
|
introduce immediate symbol value
|
2013-10-29 02:11:31 +09:00 |
Yuichi Nishiwaki
|
a19c59ba87
|
remove stuff rerated to parser_control from scan.l
|
2013-10-28 22:55:15 +09:00 |
Yuichi Nishiwaki
|
94e1e245ea
|
create picrin objects in parser stage, not in scan stage
|
2013-10-28 22:49:15 +09:00 |
Yuichi Nishiwaki
|
9a20b50fc5
|
[vm] take care of int overflow
|
2013-10-28 21:26:39 +09:00 |
Yuichi Nishiwaki
|
4fa2bad5fa
|
add pic_apply function (and remove pic_run)
|
2013-10-28 17:45:13 +09:00 |
Yuichi Nishiwaki
|
67c13b841c
|
read line comments
|
2013-10-28 13:04:24 +09:00 |
Yuichi Nishiwaki
|
c77b8be011
|
insert type checks in pic_get_args
|
2013-10-28 00:40:10 +09:00 |
Yuichi Nishiwaki
|
5133e04c39
|
bugfix in pic_get_args
|
2013-10-28 00:33:24 +09:00 |
Yuichi Nishiwaki
|
90b691be67
|
add exact/inexact function
|
2013-10-28 00:33:10 +09:00 |
Yuichi Nishiwaki
|
350f4d1abd
|
[bugfix] support 'I' format in pic_get_args
|
2013-10-28 00:24:51 +09:00 |
Yuichi Nishiwaki
|
d3df6dcbf2
|
support exact integer
|
2013-10-28 00:21:24 +09:00 |
Yuichi Nishiwaki
|
63c05209f8
|
add built-in library
|
2013-10-27 18:38:55 +09:00 |
Yuichi Nishiwaki
|
f192c96650
|
parse-from-file facility
|
2013-10-27 18:38:41 +09:00 |
Yuichi Nishiwaki
|
c93cef8c8c
|
do not wrap with a begin read expressions if it is single
|
2013-10-27 18:14:15 +09:00 |
Yuichi Nishiwaki
|
f3041b7ebc
|
support rest arguments
|
2013-10-27 18:13:36 +09:00 |
Yuichi Nishiwaki
|
40a2568142
|
read multiple expressions; read exprs are wrapped in a begin
|
2013-10-27 17:24:44 +09:00 |
Yuichi Nishiwaki
|
14dcb63c33
|
support `(define (foo . args) . body)` style definition
|
2013-10-27 02:51:06 +09:00 |
Yuichi Nishiwaki
|
870320f3a1
|
refactor incomplete data parsing
|
2013-10-27 02:06:59 +09:00 |
Yuichi Nishiwaki
|
51253c00b9
|
add procedure?
|
2013-10-25 00:37:20 +09:00 |
Yuichi Nishiwaki
|
c782912212
|
add pair?
|
2013-10-25 00:37:08 +09:00 |
Yuichi Nishiwaki
|
c88f0926a4
|
fix a bug in valid_formal
|
2013-10-25 00:35:37 +09:00 |
Yuichi Nishiwaki
|
83de938342
|
add some port predicates
|
2013-10-24 22:56:04 +09:00 |
Yuichi Nishiwaki
|
7bb27295c0
|
warn global redefinition
|
2013-10-24 22:29:40 +09:00 |
Yuichi Nishiwaki
|
331fdaba4c
|
warn various kinds of syntax errors during codegen
|
2013-10-24 21:55:07 +09:00 |
Yuichi Nishiwaki
|
9cb28f3156
|
add OP_EQ/OP_LT/OP_LE
|
2013-10-24 21:10:13 +09:00 |
Yuichi Nishiwaki
|
2732a5a4ec
|
inti env->value with undef objects
|
2013-10-24 20:53:27 +09:00 |
Yuichi Nishiwaki
|
411395995c
|
s/env.numcv/env.num_val/g
|
2013-10-24 03:41:48 +09:00 |
Yuichi Nishiwaki
|
a926c54be3
|
warn invalid application
|
2013-10-24 03:38:29 +09:00 |
Yuichi Nishiwaki
|
d75b624b4a
|
add OP_LSET and OP_CSET
|
2013-10-24 03:14:32 +09:00 |
Yuichi Nishiwaki
|
337b54dc40
|
initial closure support
|
2013-10-24 02:51:02 +09:00 |
Yuichi Nishiwaki
|
4b31901bce
|
add OP_CREF
|
2013-10-24 02:04:49 +09:00 |