Yuichi Nishiwaki
|
a18fe136e1
|
cosmetic fixes
|
2014-02-12 10:50:26 +09:00 |
Yuichi Nishiwaki
|
c759fee566
|
add new_senv
|
2014-02-12 10:48:44 +09:00 |
Yuichi Nishiwaki
|
9cf7d72e82
|
inline-expand a small function
|
2014-02-12 10:42:17 +09:00 |
Yuichi Nishiwaki
|
527f46480a
|
rename symbols before macro lookup
|
2014-02-12 10:39:20 +09:00 |
Yuichi Nishiwaki
|
9c278889fc
|
add partial apply funciton
|
2014-02-12 01:17:05 +09:00 |
Yuichi Nishiwaki
|
34c10b0054
|
unify includes of stdio and assert
|
2014-02-11 23:25:25 +09:00 |
Yuichi Nishiwaki
|
5be10aefc9
|
[bugfix] compiling big library faults with arena overflow
|
2014-02-11 22:44:04 +09:00 |
Yuichi Nishiwaki
|
855702716c
|
clarify some error messages
|
2014-02-11 21:36:11 +09:00 |
Yuichi Nishiwaki
|
c2a1ea6748
|
dont consume arena in pic_append
|
2014-02-11 16:22:17 +09:00 |
Yuichi Nishiwaki
|
93e7a1cf32
|
clarify wrong number of arguments error message
|
2014-02-11 13:52:03 +09:00 |
Yuichi Nishiwaki
|
7843dc1023
|
add pic_errorf
|
2014-02-11 13:47:11 +09:00 |
Yuichi Nishiwaki
|
fc7b59100d
|
add some user functions to manipulate ports
|
2014-02-11 13:45:41 +09:00 |
Yuichi Nishiwaki
|
b404f30a50
|
pic_debug family return obj
|
2014-02-11 13:38:42 +09:00 |
Yuichi Nishiwaki
|
372fd3157b
|
error report is propagated through pic->err
|
2014-02-11 13:21:00 +09:00 |
Yuichi Nishiwaki
|
468e1b4d1f
|
add pic_fdebug
|
2014-02-11 00:47:57 +09:00 |
Yuichi Nishiwaki
|
7fe109a998
|
include xfile in picirn.h
|
2014-02-09 14:52:53 +09:00 |
Yuichi Nishiwaki
|
687706eaee
|
fix error message
|
2014-02-09 14:29:51 +09:00 |
Yuichi Nishiwaki
|
241012d2f9
|
add output-bytevector
|
2014-02-09 14:29:28 +09:00 |
Yuichi Nishiwaki
|
49e5e3085b
|
pic_str_new may take a NULL ptr
|
2014-02-09 03:11:08 +09:00 |
Yuichi Nishiwaki
|
668ace7901
|
implement some string functions in c
|
2014-02-09 03:10:58 +09:00 |
Yuichi Nishiwaki
|
39af5ca254
|
implement string-append in C
|
2014-02-09 02:42:50 +09:00 |
Yuichi Nishiwaki
|
7187e4e982
|
add open-input-bytevector
|
2014-02-09 02:41:52 +09:00 |
Yuichi Nishiwaki
|
3d0657074f
|
first argument of get-output-string is optinoal
|
2014-02-09 02:41:20 +09:00 |
Yuichi Nishiwaki
|
a666951f21
|
add open-output-string and get-output-string
|
2014-02-09 01:49:55 +09:00 |
Yuichi Nishiwaki
|
0e464b2f75
|
[bugfix] write-string doesn't detect given port
|
2014-02-09 01:21:44 +09:00 |
Yuichi Nishiwaki
|
8d067f66ed
|
add open-input-string
|
2014-02-08 23:23:53 +09:00 |
Yuichi Nishiwaki
|
dd0ed6bfea
|
add write-string/write-u8/write-bytevector
|
2014-02-08 17:31:54 +09:00 |
Yuichi Nishiwaki
|
5efdf3cfcc
|
write-simple support optional output port
|
2014-02-08 17:15:34 +09:00 |
Yuichi Nishiwaki
|
93f7270ea3
|
auto export symbols defined by pic_defmacro
|
2014-02-08 15:24:27 +09:00 |
Yuichi Nishiwaki
|
4cb661c252
|
add 'include' macro
|
2014-02-08 15:05:28 +09:00 |
Yuichi Nishiwaki
|
b0d955c771
|
analyze in order
|
2014-02-08 03:17:49 +09:00 |
Yuichi Nishiwaki
|
d100dde6b1
|
Merge branch 'master' into trampoline
|
2014-02-07 10:05:31 +09:00 |
Yuichi Nishiwaki
|
1afbfcda23
|
add 'static'
|
2014-02-07 10:02:09 +09:00 |
Yuichi Nishiwaki
|
cd12977cfe
|
receive values by trampoline
|
2014-02-07 09:59:02 +09:00 |
Yuichi Nishiwaki
|
1208fc9f0e
|
execute procedure by trampoline in call/cc
|
2014-02-07 09:56:57 +09:00 |
Yuichi Nishiwaki
|
67a856b1db
|
[bugfix] pic_trampoline was broken
|
2014-02-07 09:49:49 +09:00 |
Yuichi Nishiwaki
|
1c633b3cda
|
cleanup
|
2014-02-07 02:23:55 +09:00 |
Yuichi Nishiwaki
|
7288cd0614
|
redefinition might be against a local variable
|
2014-02-07 02:15:08 +09:00 |
Yuichi Nishiwaki
|
c4040949ff
|
stop warning in macroexpand, and creating a duplicate slot
|
2014-02-07 02:14:39 +09:00 |
Yuichi Nishiwaki
|
fd0553ac25
|
warn variable redefinition in macroexpansion level
|
2014-02-07 02:13:16 +09:00 |
Yuichi Nishiwaki
|
d74b82b1a5
|
warn global variable redefinition
|
2014-02-07 02:12:43 +09:00 |
Yuichi Nishiwaki
|
620fee4236
|
refactor global_ref and global_def
|
2014-02-07 01:48:56 +09:00 |
Yuichi Nishiwaki
|
c75d6e5789
|
refactor global_def
|
2014-02-07 01:42:28 +09:00 |
Yuichi Nishiwaki
|
ae5acd005c
|
refactor global_ref
|
2014-02-07 01:42:15 +09:00 |
Yuichi Nishiwaki
|
e7d38ea165
|
rename scope_global_define -> global_def
|
2014-02-07 01:31:45 +09:00 |
Yuichi Nishiwaki
|
faac3f7e9d
|
include xhash in picrin.h
|
2014-02-07 01:24:51 +09:00 |
Yuichi Nishiwaki
|
53979bf848
|
prefer type alias to types with 'struct'
|
2014-02-07 01:15:17 +09:00 |
Yuichi Nishiwaki
|
1901a7ab30
|
e->key is no longer of const char * type
|
2014-02-07 01:09:05 +09:00 |
Yuichi Nishiwaki
|
a4062b5b76
|
use xh_new_int
|
2014-02-07 01:08:57 +09:00 |
Yuichi Nishiwaki
|
104fd823b2
|
use a pointer to newly allocated region to pass to xh_put
|
2014-02-06 22:13:42 +09:00 |
Yuichi Nishiwaki
|
66ac29519e
|
use pic_trampoline in pic_proc_apply
|
2014-02-06 14:22:42 +09:00 |
Yuichi Nishiwaki
|
2ef426d90b
|
add trampoline helper
|
2014-02-06 14:22:29 +09:00 |
Yuichi Nishiwaki
|
845961e7f9
|
adjust OP_CALL count
|
2014-02-06 13:18:39 +09:00 |
Yuichi Nishiwaki
|
613f692c09
|
apply is broken with arg_list is nil
|
2014-02-06 13:04:11 +09:00 |
Yuichi Nishiwaki
|
9f21c8d7b1
|
Merge branch 'master' into trampoline
|
2014-02-06 13:01:31 +09:00 |
Yuichi Nishiwaki
|
c1e5eefbbd
|
staticize compile function
|
2014-02-04 18:54:33 +09:00 |
Yuichi Nishiwaki
|
849746b919
|
remove redundant message
|
2014-02-04 18:54:01 +09:00 |
Yuichi Nishiwaki
|
f29f10ddd7
|
clenaup debug message format
|
2014-02-04 18:53:51 +09:00 |
Yuichi Nishiwaki
|
060fb227a7
|
refactor pic_compile
|
2014-02-04 18:53:40 +09:00 |
Yuichi Nishiwaki
|
0d33900745
|
delegate initial instruction fetch to VM_LOOP
|
2014-02-04 18:42:37 +09:00 |
Yuichi Nishiwaki
|
0e0cc96859
|
booting message completely useless, shrink.
|
2014-02-04 18:39:47 +09:00 |
Yuichi Nishiwaki
|
90713100c2
|
show argument values when entering OP_CALL
|
2014-02-04 18:38:32 +09:00 |
Yuichi Nishiwaki
|
2d544ffa01
|
toplevel expression can be considered tail expresssion
|
2014-02-04 18:23:37 +09:00 |
Yuichi Nishiwaki
|
ae2cae8a47
|
duplicate OP_RET
|
2014-02-04 18:22:18 +09:00 |
Yuichi Nishiwaki
|
3a4bf769ce
|
don't emit duplicate OP_RET in codegen_lambda
|
2014-02-04 18:20:51 +09:00 |
Yuichi Nishiwaki
|
f59ce74148
|
add RETURN node
|
2014-02-04 18:20:35 +09:00 |
Yuichi Nishiwaki
|
dd547ac093
|
add OP_NOP
|
2014-02-04 16:58:50 +09:00 |
Yuichi Nishiwaki
|
16466fd35c
|
use OP_NOP in pic_proc_apply
|
2014-02-04 16:20:49 +09:00 |
Yuichi Nishiwaki
|
7837a30d53
|
add OP_NOP
|
2014-02-04 16:20:17 +09:00 |
Yuichi Nishiwaki
|
c3b45c6d16
|
'apply' calls given procedure by trampoline
|
2014-02-04 15:46:52 +09:00 |
Yuichi Nishiwaki
|
2ed2b503a6
|
apply' argument treatment was broken
|
2014-02-04 14:33:36 +09:00 |
Yuichi Nishiwaki
|
96fc08dd0b
|
[bugfix] close only closed variables...
|
2014-02-04 14:20:01 +09:00 |
Yuichi Nishiwaki
|
a3b0fa701b
|
rename pic_callinfo.pc -> ip
|
2014-02-04 10:46:36 +09:00 |
Yuichi Nishiwaki
|
f090eae241
|
restore ip when returned from c function
|
2014-02-04 10:40:16 +09:00 |
Yuichi Nishiwaki
|
018db310d3
|
save instruction pointer to pic_state
|
2014-02-04 10:40:03 +09:00 |
Yuichi Nishiwaki
|
08337f1ed1
|
use 'pc' as little as possible
|
2014-02-04 10:28:40 +09:00 |
Yuichi Nishiwaki
|
0947173c32
|
small optimize
|
2014-02-04 10:28:22 +09:00 |
Yuichi Nishiwaki
|
2022fa163b
|
fix #26
|
2014-02-04 10:18:31 +09:00 |
Yuichi Nishiwaki
|
a99cf8458a
|
implement ir-macro-transformer with C
|
2014-01-19 01:14:32 -08:00 |
Yuichi Nishiwaki
|
ce90e4a2a6
|
compare int and size_t warning when DEBUG is on
|
2014-01-19 00:54:56 -08:00 |
Yuichi Nishiwaki
|
ab411cc298
|
gcc complains that he can't assure if switch-enum is complete
|
2014-01-19 00:32:43 -08:00 |
Yuichi Nishiwaki
|
7bfe165a73
|
[bugfix] compiler complains fileno is not declared but used in lex.yy.c.
|
2014-01-19 00:31:03 -08:00 |
Yuichi Nishiwaki
|
9b31e5bd2f
|
refactor list_by_array
|
2014-02-02 21:16:45 +09:00 |
Yuichi Nishiwaki
|
b66021c042
|
print bytecode index in hex
|
2014-02-02 21:16:23 +09:00 |
Yuichi Nishiwaki
|
4a01b8296f
|
emit OP_NOT
|
2014-02-02 14:55:46 +09:00 |
Yuichi Nishiwaki
|
0fec56362d
|
add OP_NOT instruction
|
2014-02-02 14:54:47 +09:00 |
Yuichi Nishiwaki
|
0425dbdd1e
|
implement values and call-with-values with C
|
2014-02-02 14:26:58 +09:00 |
Yuichi Nishiwaki
|
778ee89dfe
|
fix pic_receive
|
2014-02-02 14:23:58 +09:00 |
Yuichi Nishiwaki
|
116a65cdee
|
add pic_receive
|
2014-02-02 12:38:46 +09:00 |
Yuichi Nishiwaki
|
19db4bb6b2
|
rest array got by pic_get_args has a dynamic extent; that is, we cannot
store it to a heap object when we are going to rewind that stack and
restore an old continuation.
|
2014-02-02 12:27:48 +09:00 |
Yuichi Nishiwaki
|
cb3128d241
|
refactor values functions
|
2014-02-02 12:27:24 +09:00 |
Yuichi Nishiwaki
|
f2507b5cbf
|
rename ..._from_... to ..._by_...
|
2014-02-02 12:26:43 +09:00 |
Yuichi Nishiwaki
|
2373e7a067
|
continuation now can take more than 1 arguments
|
2014-02-02 12:11:15 +09:00 |
Yuichi Nishiwaki
|
7547b83515
|
add pic_values functions
|
2014-02-02 12:10:31 +09:00 |
Yuichi Nishiwaki
|
ae85bbf60e
|
refactor std port
|
2014-02-02 11:23:23 +09:00 |
Yuichi Nishiwaki
|
b19631f18f
|
use submodule
|
2014-02-01 22:16:09 +09:00 |
Yuichi Nishiwaki
|
c5c3f4c1f5
|
use newer API of xhash
|
2014-02-01 20:01:26 +09:00 |
Yuichi Nishiwaki
|
6a8a0dc8cb
|
use picrin's allocator in lexer
|
2014-02-01 19:33:38 +09:00 |
Yuichi Nishiwaki
|
c68a7c41c7
|
use pic_strdup in lexer and parser
|
2014-02-01 19:33:23 +09:00 |
Yuichi Nishiwaki
|
1746243b15
|
use picrin's strdup impl if possible
|
2014-02-01 19:32:39 +09:00 |