Yuichi Nishiwaki
|
4cd217937f
|
if rest argument value is captured, copy it to capture area. close #78.
|
2014-03-26 21:02:43 +09:00 |
Yuichi Nishiwaki
|
6ea78fbf27
|
delete pic_apply_argv
|
2014-03-25 21:04:30 +09:00 |
Yuichi Nishiwaki
|
e51f0d6dc3
|
add arity-fixed apply functions
|
2014-03-25 20:54:57 +09:00 |
Yuichi Nishiwaki
|
4b13848cbc
|
separate macroexpansion and arena management
|
2014-03-25 15:42:20 +09:00 |
Yuichi Nishiwaki
|
ca42b44921
|
update xhash uses
|
2014-03-25 15:29:26 +09:00 |
Yuichi Nishiwaki
|
594742f845
|
refine variabe redefinitino error message
|
2014-03-25 14:31:32 +09:00 |
Yuichi Nishiwaki
|
c3240b9133
|
add pic_warnf
|
2014-03-25 14:31:24 +09:00 |
Yuichi Nishiwaki
|
8d63fffe87
|
don't create duplicate slots
|
2014-03-25 14:25:48 +09:00 |
Yuichi Nishiwaki
|
88a7d1f2b9
|
s/senv->name/senv->renames/g
|
2014-03-25 14:21:23 +09:00 |
Yuichi Nishiwaki
|
b757368748
|
add renamer APIs
|
2014-03-25 14:12:53 +09:00 |
Yuichi Nishiwaki
|
816343bd31
|
reserve the 0 symbol for system use
|
2014-03-25 13:37:20 +09:00 |
Yuichi Nishiwaki
|
514937662e
|
renamed symbols must be always greater than or equal to 0
|
2014-03-25 13:26:42 +09:00 |
Yuichi Nishiwaki
|
abefda9ee9
|
avoid lcm overflow
|
2014-03-25 12:25:08 +09:00 |
Yuichi Nishiwaki
|
bccfc1f08d
|
throw error when macro definition evaluates to non-procedure object
|
2014-03-24 15:30:44 +09:00 |
Yuichi Nishiwaki
|
b61da9bc47
|
use UNREACHABLE macro
|
2014-03-24 15:30:32 +09:00 |
Yuichi Nishiwaki
|
b29832d2c5
|
refactor macroexpand
|
2014-03-24 15:27:03 +09:00 |
Yuichi Nishiwaki
|
9dcdc45ab6
|
cleanup
|
2014-03-24 15:15:08 +09:00 |
Yuichi Nishiwaki
|
af80ba6b36
|
pic_gc_protect now returns a value
|
2014-03-24 15:14:54 +09:00 |
Yuichi Nishiwaki
|
f2717910d0
|
remove error handling stuff from the VM
|
2014-03-24 15:12:01 +09:00 |
Yuichi Nishiwaki
|
1821039e78
|
pic->rescue is no longer used
|
2014-03-24 15:00:55 +09:00 |
Yuichi Nishiwaki
|
8451bd5c19
|
cleanup
|
2014-03-24 14:58:09 +09:00 |
Yuichi Nishiwaki
|
0fcd1a3e10
|
inline pic_error definition
|
2014-03-24 14:57:10 +09:00 |
Yuichi Nishiwaki
|
bb7e35ca0e
|
pic_raise is equivalent to pic_throw. remove it.
|
2014-03-24 14:55:41 +09:00 |
Yuichi Nishiwaki
|
6448a36db5
|
don't use pic->rescue stack in with-exception-handler
|
2014-03-24 14:54:03 +09:00 |
Yuichi Nishiwaki
|
4d56ebf634
|
drop support for raise-continuable for a moment
|
2014-03-24 14:52:52 +09:00 |
Yuichi Nishiwaki
|
edb4f61d5e
|
error function is no longer used
|
2014-03-24 14:24:53 +09:00 |
Yuichi Nishiwaki
|
daa7513be5
|
add pic_throw function
|
2014-03-24 14:09:28 +09:00 |
Yuichi Nishiwaki
|
136980ae2e
|
rewrite define-library expander with pic_try/catch
|
2014-03-24 13:25:37 +09:00 |
Yuichi Nishiwaki
|
3d465f21dc
|
now you can 'throw' exceptions from catch clause
|
2014-03-24 13:24:37 +09:00 |
Yuichi Nishiwaki
|
4a2cb90095
|
move pic_try/pic_catch macros to error.h
|
2014-03-24 12:30:21 +09:00 |
Yuichi Nishiwaki
|
6d0e147f3d
|
Merge branch 'master' of github.com:wasabiz/picrin
|
2014-03-24 10:38:45 +09:00 |
koba-e964
|
30cc6998de
|
[bugfix] macroexpand
macroexpand restores pic->lib in the case of an error
|
2014-03-23 20:58:28 +09:00 |
Yuichi Nishiwaki
|
b12be97194
|
cleanup
|
2014-03-23 18:47:55 +09:00 |
Yuichi Nishiwaki
|
12728df36f
|
perform tear-off operation lazily
|
2014-03-23 13:09:35 +09:00 |
Yuichi Nishiwaki
|
93414fac52
|
s/env.values/env.regs/g
|
2014-03-23 12:45:36 +09:00 |
Yuichi Nishiwaki
|
4a1809a9c5
|
get access to captured local variables with OP_LREF/OP_LSET
|
2014-03-23 12:18:41 +09:00 |
Yuichi Nishiwaki
|
1b6f1db1c0
|
s/create_cv_table/create_activation/g
|
2014-03-23 12:10:34 +09:00 |
Yuichi Nishiwaki
|
cac31845d0
|
cv_tbl is no longer used
|
2014-03-23 12:10:34 +09:00 |
Yuichi Nishiwaki
|
c9eb612561
|
do variable closing operation not in OP_CALL but in OP_RET
|
2014-03-23 12:10:34 +09:00 |
Yuichi Nishiwaki
|
74294c819f
|
remove resolver pass
|
2014-03-23 11:55:06 +09:00 |
Yuichi Nishiwaki
|
312c977c17
|
distinguish lref and cref at analysis stage
|
2014-03-23 11:28:11 +09:00 |
Yuichi Nishiwaki
|
0bcb970842
|
handle grefs at analyzing stage
|
2014-03-23 11:10:27 +09:00 |
Yuichi Nishiwaki
|
d8ab5cadd1
|
cleanup. rename local variable.
|
2014-03-22 19:19:49 +09:00 |
Yuichi Nishiwaki
|
ac4e46783c
|
remove unused property
|
2014-03-22 19:13:46 +09:00 |
Yuichi Nishiwaki
|
12852b0628
|
s/cv_num/capturec/g
|
2014-03-22 19:13:07 +09:00 |
Yuichi Nishiwaki
|
bdcf8a4bcb
|
change ugly implementation; don't call realloc for each puching!
|
2014-03-22 19:04:42 +09:00 |
Yuichi Nishiwaki
|
cb2f9fece3
|
separate cv table creation
|
2014-03-22 18:58:25 +09:00 |
Yuichi Nishiwaki
|
5a56f57782
|
hold local variables information in codegen_context
|
2014-03-22 18:46:57 +09:00 |
Yuichi Nishiwaki
|
046fae1adb
|
grammer error fix
|
2014-03-22 18:41:46 +09:00 |
Yuichi Nishiwaki
|
510af57ce5
|
explict type cast for return valus from pic_*allloc family is not mandatory
|
2014-03-22 18:29:14 +09:00 |
Yuichi Nishiwaki
|
a9e98b1c31
|
small CSE optimize for irep
|
2014-03-22 18:23:33 +09:00 |
Yuichi Nishiwaki
|
189487b026
|
[bugfix] don't push symbols doubly to captured variable list
|
2014-03-21 12:51:57 +09:00 |
Yuichi Nishiwaki
|
9a3ff987af
|
define pic_push/pic_pop macro in pair.h
|
2014-03-21 12:36:46 +09:00 |
Yuichi Nishiwaki
|
a9a530c9bd
|
memorize only list of captured symbols
|
2014-03-21 12:34:45 +09:00 |
Yuichi Nishiwaki
|
91065a7c25
|
add commentary to lambda analyzer to avoid regression
|
2014-03-21 08:20:33 +09:00 |
Yuichi Nishiwaki
|
b6b47943bb
|
use enum value for variable marking
|
2014-03-21 08:17:52 +09:00 |
Yuichi Nishiwaki
|
cfde253f26
|
split xvect module
|
2014-03-20 23:09:45 +09:00 |
Yuichi Nishiwaki
|
53cd2942d1
|
change xvect API
|
2014-03-20 22:12:20 +09:00 |
Yuichi Nishiwaki
|
0c12784da5
|
use xvect
|
2014-03-20 21:56:49 +09:00 |
Yuichi Nishiwaki
|
0b4cb76834
|
add xvect
|
2014-03-20 21:17:28 +09:00 |
Yuichi Nishiwaki
|
1548a17b35
|
cleanup
|
2014-03-20 13:48:51 +09:00 |
Yuichi Nishiwaki
|
37a87046b7
|
remove redundant arena management
|
2014-03-20 13:48:32 +09:00 |
Yuichi Nishiwaki
|
3158a41772
|
refactor analyze_args
|
2014-03-20 13:41:47 +09:00 |
Yuichi Nishiwaki
|
6d6420f2b9
|
refactor analyze_var
|
2014-03-20 11:44:12 +09:00 |
Yuichi Nishiwaki
|
0cb8920276
|
refactor analyzer
|
2014-03-19 21:45:02 +09:00 |
Yuichi Nishiwaki
|
5776940420
|
POPN macro was not used
|
2014-03-19 19:49:09 +09:00 |
Yuichi Nishiwaki
|
bc602aa767
|
pic_state is not used in pic_dump_*
|
2014-03-19 19:44:45 +09:00 |
Yuichi Nishiwaki
|
e80c3cc60b
|
move irep dump function definitions to irep.h
|
2014-03-19 19:41:24 +09:00 |
Yuichi Nishiwaki
|
fc5ea838ab
|
move global variable accessor/mutator definitions to vm.c
|
2014-03-19 19:38:40 +09:00 |
Yuichi Nishiwaki
|
ef7d01971b
|
publish UNREACHABLE macro
|
2014-03-19 17:40:31 +09:00 |
Yuichi Nishiwaki
|
acfa79bc62
|
s/NORETURN/noreturn/g
|
2014-03-19 17:37:06 +09:00 |
Yuichi Nishiwaki
|
41a3e17904
|
no unistd.h in lex.yy.c
|
2014-03-19 17:35:54 +09:00 |
Yuichi Nishiwaki
|
04375c3056
|
[bugfix] propagate errors through the VM
|
2014-03-16 23:32:28 +09:00 |
Yuichi Nishiwaki
|
00d92c79bf
|
pic_length is now unsafe to circular list
|
2014-03-16 23:13:03 +09:00 |
Yuichi Nishiwaki
|
8598042deb
|
pic_list_p don't need to take pic_state *.
|
2014-03-16 23:12:07 +09:00 |
Yuichi Nishiwaki
|
27d4853aef
|
refactor pic_list_p
|
2014-03-16 22:51:33 +09:00 |
Yuichi Nishiwaki
|
6cc6046ea3
|
Merge pull request #69 from koba-e964/master
list? for circular lists (Issue #17)
|
2014-03-16 22:39:57 +09:00 |
koba-e964
|
c23e3254fb
|
cleanup
Re-format the code so that it complies with the C coding rule of picrin.
|
2014-03-16 21:55:50 +09:00 |
koba-e964
|
138ac70130
|
list? for circular lists
pic_list_p() detects circular lists using Floyd's cycle-finding algorithm.
|
2014-03-16 01:38:12 +09:00 |
Yuichi Nishiwaki
|
0e1b6d93b4
|
load srfi files at init. close #61
|
2014-03-15 20:53:07 +09:00 |
Yuichi Nishiwaki
|
b4609aafb7
|
refine pic_load error message
|
2014-03-15 20:52:34 +09:00 |
Yuichi Nishiwaki
|
a785719ccc
|
[bugfix] pic_close broken
|
2014-03-10 01:53:09 +09:00 |
Yuichi Nishiwaki
|
68ea22f6eb
|
add pic_blk_exit
|
2014-03-10 01:51:27 +09:00 |
Yuichi Nishiwaki
|
851187f7bb
|
use pic_try/catch in stdlib_load
|
2014-03-10 01:12:19 +09:00 |
Yuichi Nishiwaki
|
d227c22379
|
change native_stack marker type to char *
|
2014-03-10 01:11:01 +09:00 |
Yuichi Nishiwaki
|
920674a6ef
|
typedef struct pic_block pic_block
|
2014-03-07 22:09:12 +09:00 |
Yuichi Nishiwaki
|
751d0f87f8
|
typedef struct pic_code pic_code
|
2014-03-07 22:06:43 +09:00 |
Yuichi Nishiwaki
|
488a2c902c
|
mmm, cmake on travis seems earlier than 2.8.8...
|
2014-03-05 23:00:24 +09:00 |
Yuichi Nishiwaki
|
19371d1d81
|
some compilers don't support liking a static library into another shared
library. compiling xfile into an object file instead.
|
2014-03-05 16:06:35 +09:00 |
Yuichi Nishiwaki
|
f0367d95a0
|
cleanup
|
2014-03-04 23:58:07 +09:00 |
Yuichi Nishiwaki
|
818fb41f77
|
fix #63. process escape sequences in string
|
2014-03-04 23:45:55 +09:00 |
Yuichi Nishiwaki
|
f8b3f5f1fd
|
don't rename unbound symbols
|
2014-03-04 00:45:47 +09:00 |
Yuichi Nishiwaki
|
6fbfd15011
|
formatter support display syntax (~a)
|
2014-03-04 00:32:55 +09:00 |
Yuichi Nishiwaki
|
4bf2262605
|
pic_alloc is the right name, not pic_malloc
|
2014-03-04 00:30:11 +09:00 |
Yuichi Nishiwaki
|
8f5c053bd8
|
add display function API
|
2014-03-04 00:28:39 +09:00 |
Yuichi Nishiwaki
|
5b2898ae5c
|
rename read functions which return a list of multiple expressions to 'parse'
|
2014-03-04 00:26:33 +09:00 |
Yuichi Nishiwaki
|
8a9bd366a1
|
define display function in C
|
2014-03-04 00:12:28 +09:00 |
Yuichi Nishiwaki
|
1de4073212
|
cleanup
|
2014-03-03 23:13:32 +09:00 |
Yuichi Nishiwaki
|
5d4d90228d
|
update read error message
|
2014-03-03 23:02:52 +09:00 |
Yuichi Nishiwaki
|
777f951caf
|
pic_compile now unsafe to compilation error
|
2014-03-03 22:49:59 +09:00 |