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 |
Yuichi Nishiwaki
|
1d9410638d
|
remove unused auxuality data field proc->aux
|
2013-10-29 02:23:14 +09:00 |
Yuichi Nishiwaki
|
63b52991da
|
introduce immediate symbol value
|
2013-10-29 02:11:31 +09:00 |
Yuichi Nishiwaki
|
4fa2bad5fa
|
add pic_apply function (and remove pic_run)
|
2013-10-28 17:45:13 +09:00 |
Yuichi Nishiwaki
|
d3df6dcbf2
|
support exact integer
|
2013-10-28 00:21:24 +09:00 |
Yuichi Nishiwaki
|
f3041b7ebc
|
support rest arguments
|
2013-10-27 18:13:36 +09:00 |
Yuichi Nishiwaki
|
14dcb63c33
|
support `(define (foo . args) . body)` style definition
|
2013-10-27 02:51:06 +09:00 |
Yuichi Nishiwaki
|
c88f0926a4
|
fix a bug in valid_formal
|
2013-10-25 00:35:37 +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
|
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 |
Yuichi Nishiwaki
|
bd851318d1
|
add pic_env struct
|
2013-10-24 02:02:07 +09:00 |
Yuichi Nishiwaki
|
f854e225c8
|
test implementation for closed variable reference
|
2013-10-24 00:33:37 +09:00 |
Yuichi Nishiwaki
|
0fd1bbeae9
|
throw wrong number of arguments error for user defined lambda call
|
2013-10-24 00:09:40 +09:00 |
Yuichi Nishiwaki
|
2ec7f381d0
|
cleanup codegen.c
|
2013-10-23 17:26:02 +09:00 |
Yuichi Nishiwaki
|
79ee6f6ae4
|
introduce codegen_state structure
|
2013-10-23 17:25:39 +09:00 |
Yuichi Nishiwaki
|
035de0016b
|
evaluate arguments in normal (lexical) order
|
2013-10-23 15:55:42 +09:00 |
Yuichi Nishiwaki
|
d12ed0a139
|
rename pic_scope -> codegen_scope
|
2013-10-23 15:52:14 +09:00 |
Yuichi Nishiwaki
|
947ddc45c8
|
bugfix: lambda must use new_scope to gen body code
|
2013-10-23 15:46:18 +09:00 |
Yuichi Nishiwaki
|
dd3adf30e6
|
use xhash to manage scopes during codegin
|
2013-10-22 22:22:35 +09:00 |
Yuichi Nishiwaki
|
b45d7d9592
|
add eof-object type
|
2013-10-22 16:02:20 +09:00 |
Yuichi Nishiwaki
|
0c1babb6c5
|
add pic_reverse
|
2013-10-22 00:19:43 +09:00 |
Yuichi Nishiwaki
|
f5154625ba
|
add aux object field to proc object
|
2013-10-21 17:35:14 +09:00 |
Yuichi Nishiwaki
|
8f4788ca27
|
read strings
|
2013-10-21 10:48:03 +09:00 |
Yuichi Nishiwaki
|
a49675c322
|
add OP_PUSHCONST
|
2013-10-21 09:29:56 +09:00 |
Yuichi Nishiwaki
|
cefa9a9885
|
handle runtime error
|
2013-10-20 23:30:01 +09:00 |
Yuichi Nishiwaki
|
05eb62cc4d
|
do not abort when meet a compilation error
|
2013-10-20 18:17:12 +09:00 |
Yuichi Nishiwaki
|
4f8aa03b24
|
clarify the meanings of error functions
|
2013-10-20 17:41:48 +09:00 |
Yuichi Nishiwaki
|
444fc7c750
|
split codegen and vm
|
2013-10-20 17:06:47 +09:00 |