Yuichi Nishiwaki
|
828606aed5
|
throw an error when finding invalid argument specifier
|
2013-10-22 17:44:47 +09:00 |
Yuichi Nishiwaki
|
d696339577
|
[bugfix] pic_get_args should ignore optional args when i > argc
|
2013-10-22 17:23:21 +09:00 |
Yuichi Nishiwaki
|
114d6b708b
|
since pic_string is a first-class value, move it to value.h
|
2013-10-21 17:38:05 +09:00 |
Yuichi Nishiwaki
|
f5154625ba
|
add aux object field to proc object
|
2013-10-21 17:35:14 +09:00 |
Yuichi Nishiwaki
|
86177b7c4e
|
pic_get_args supports optional argument
|
2013-10-21 13:57:02 +09:00 |
Yuichi Nishiwaki
|
b02f81760c
|
pic_get_args supports strings
|
2013-10-21 11:42:21 +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
|
12e2f10869
|
add error.c file
|
2013-10-20 17:26:18 +09:00 |
Yuichi Nishiwaki
|
444fc7c750
|
split codegen and vm
|
2013-10-20 17:06:47 +09:00 |
Yuichi Nishiwaki
|
bde09e063a
|
add pic_acons function
|
2013-10-20 14:04:39 +09:00 |
Yuichi Nishiwaki
|
40c996bd03
|
fix confusion of GC_DEBUG and VM_DEBUG
|
2013-10-20 13:07:14 +09:00 |
Yuichi Nishiwaki
|
50b9c2bd97
|
add pair.h
|
2013-10-20 12:34:57 +09:00 |
Yuichi Nishiwaki
|
cfae6f3c59
|
add OP_NILP
|
2013-10-20 03:53:02 +09:00 |
Yuichi Nishiwaki
|
78f301794a
|
add OP_CAR/OP_CDR
|
2013-10-20 03:48:06 +09:00 |
Yuichi Nishiwaki
|
daac4dd7f3
|
suppress compiler warnings
|
2013-10-20 03:05:42 +09:00 |
Yuichi Nishiwaki
|
5e96d05fd1
|
insert OP_POP into sequential operation
|
2013-10-18 02:29:11 +09:00 |
Yuichi Nishiwaki
|
3d523a8081
|
the first callinfo's argc is 1
|
2013-10-18 01:30:35 +09:00 |
Yuichi Nishiwaki
|
e7a5784fd7
|
allocate global variable entry area by malloc and save it into pic_state
|
2013-10-18 00:15:15 +09:00 |
Yuichi Nishiwaki
|
c92a672e01
|
change the stack layout: to hold proc object on the stack when procedure
call is invoked
|
2013-10-17 23:29:18 +09:00 |
Yuichi Nishiwaki
|
d9e47bdd05
|
add begin syntax
|
2013-10-17 17:54:28 +09:00 |
Yuichi Nishiwaki
|
0ccff2f626
|
free nested environment in codegen
|
2013-10-17 14:29:37 +09:00 |
Yuichi Nishiwaki
|
7925f2b502
|
implement direct threading VM
|
2013-10-17 13:54:48 +09:00 |
Yuichi Nishiwaki
|
3ecfe821e2
|
emit error message when compiling a reference to a closed variable
|
2013-10-17 13:38:09 +09:00 |
Yuichi Nishiwaki
|
fc152f034a
|
debug printer supports OP_LREF
|
2013-10-16 17:49:07 +09:00 |
Yuichi Nishiwaki
|
6bd4747673
|
debug printer supports OP_JMP/OP_JMPIF
|
2013-10-16 17:46:33 +09:00 |
Yuichi Nishiwaki
|
4d4fbeb9aa
|
allow recursive function definition
|
2013-10-16 17:43:23 +09:00 |
Yuichi Nishiwaki
|
6c903db758
|
if syntax
|
2013-10-16 17:42:47 +09:00 |
Yuichi Nishiwaki
|
87dce75c78
|
add local variables
|
2013-10-16 17:20:53 +09:00 |
Yuichi Nishiwaki
|
5c8d81e8b5
|
support closure call
|
2013-10-16 15:30:52 +09:00 |
Yuichi Nishiwaki
|
49e1f54195
|
fix stack operation bug
|
2013-10-16 13:24:19 +09:00 |
Yuichi Nishiwaki
|
9b7fdb0725
|
undef object must not appear in the user land
|
2013-10-16 13:24:08 +09:00 |
Yuichi Nishiwaki
|
ff646e05dd
|
support boolean values
|
2013-10-16 13:17:01 +09:00 |
Yuichi Nishiwaki
|
a6920c192f
|
add compiler option -Wall
|
2013-10-16 13:15:43 +09:00 |
Yuichi Nishiwaki
|
f6eddbc6d3
|
save all ireps into pic_state
in order to decrease the stress GC will get, restore irep structures
under pic_state instead of under each procs and making it collectable object
|
2013-10-16 11:53:25 +09:00 |
Yuichi Nishiwaki
|
c593a46a62
|
add OP_LAMBDA (lambda object creation)
|
2013-10-16 11:32:30 +09:00 |
Yuichi Nishiwaki
|
19abedf746
|
warn when a closure is applied
|
2013-10-16 11:28:57 +09:00 |
Yuichi Nishiwaki
|
4340c23f20
|
cleanup
|
2013-10-16 09:30:35 +09:00 |
Yuichi Nishiwaki
|
a90e124697
|
change ways of taking care of CI
|
2013-10-16 09:28:58 +09:00 |
Yuichi Nishiwaki
|
36b455d9c2
|
do not pop sp in pic_get_args; OP_CALL takes care of stack unwinding
|
2013-10-16 09:19:43 +09:00 |
Yuichi Nishiwaki
|
22abdae12a
|
add callinfo
|
2013-10-15 23:29:34 +09:00 |
Yuichi Nishiwaki
|
0515b8ba2a
|
pic_get_args supports double type (f)
|
2013-10-15 23:25:07 +09:00 |
Yuichi Nishiwaki
|
e42eb5acd5
|
change ways of stack operation (no longer push dummy object at first)
|
2013-10-15 22:34:20 +09:00 |
Yuichi Nishiwaki
|
d40c8b5921
|
add cfunc_p flag to pic_proc
|
2013-10-15 21:52:14 +09:00 |
Yuichi Nishiwaki
|
a5dcaba970
|
add support for arithmetic operations
|
2013-10-15 21:29:07 +09:00 |
Yuichi Nishiwaki
|
af9dd45e65
|
change the type of immediate number value from int to double
|
2013-10-15 20:05:12 +09:00 |
Yuichi Nishiwaki
|
02d52723ac
|
add some FFI functions such as pic_defun and pic_get_args
|
2013-10-15 19:19:34 +09:00 |
Yuichi Nishiwaki
|
8a5ea7d7dc
|
implement OP_CALL
|
2013-10-15 19:18:33 +09:00 |
Yuichi Nishiwaki
|
e5ada35d9d
|
directly change pic->sp via PUSH/POP macros
|
2013-10-15 19:15:51 +09:00 |
Yuichi Nishiwaki
|
2afdb54c16
|
print generated irep
|
2013-10-15 09:07:19 +09:00 |
Yuichi Nishiwaki
|
42dbd5fe98
|
save some special symbols in pic_state structure
|
2013-10-14 18:28:52 +09:00 |
Yuichi Nishiwaki
|
daa65bdecf
|
pop value from the stack at the end of VM execution
|
2013-10-14 17:05:49 +09:00 |
Yuichi Nishiwaki
|
298a8e685f
|
replace use of malloc/free with pic_alloc/pic_free
|
2013-10-14 17:04:59 +09:00 |
Yuichi Nishiwaki
|
a5db43ba91
|
add object finalizer
|
2013-10-13 19:00:39 +09:00 |
Yuichi Nishiwaki
|
2ef277d5bd
|
add arena protection to the VM
|
2013-10-13 17:29:21 +09:00 |
Yuichi Nishiwaki
|
8b859d4dbc
|
define stack operation macros POP and PUSH
|
2013-10-13 17:27:44 +09:00 |
Yuichi Nishiwaki
|
a0556087f9
|
rename pic_gc_alloc to pic_obj_alloc
|
2013-10-13 16:55:07 +09:00 |
Yuichi Nishiwaki
|
1fb9ac5d03
|
let pic_proc be a first class object
|
2013-10-13 16:16:13 +09:00 |
Yuichi Nishiwaki
|
c250d3b07f
|
use C malloc instead of pic_alloc
|
2013-10-13 16:01:40 +09:00 |
Yuichi Nishiwaki
|
38858e7a11
|
replace big VM loop stuff with macros
|
2013-10-12 18:48:35 +09:00 |
Yuichi Nishiwaki
|
4cceb73db6
|
support global variable
|
2013-10-12 14:40:55 +09:00 |
Yuichi Nishiwaki
|
69e927d7bc
|
add pic_raise
|
2013-10-12 14:40:27 +09:00 |
Yuichi Nishiwaki
|
b284973035
|
add #<undef>
|
2013-10-12 14:40:01 +09:00 |
Yuichi Nishiwaki
|
8d23ef666f
|
cleanup
|
2013-10-12 13:06:02 +09:00 |
Yuichi Nishiwaki
|
5f90f49604
|
remove old VM test code
|
2013-10-12 13:01:48 +09:00 |
Yuichi Nishiwaki
|
ee3442210c
|
replace evaluator in repl to the VM
|
2013-10-12 12:55:05 +09:00 |
Yuichi Nishiwaki
|
65c9843d83
|
add VM codegen
|
2013-10-12 12:53:54 +09:00 |
Yuichi Nishiwaki
|
643d8be66d
|
first VM impl
|
2013-10-12 00:16:19 +09:00 |