Yuichi Nishiwaki
333813d0ba
unify more cases
2015-08-26 22:37:40 +09:00
Yuichi Nishiwaki
210fecab3f
unify 'i' and 'I', and 'f' and 'F'
2015-08-26 22:25:56 +09:00
Yuichi Nishiwaki
e841764b68
introduce PTR_CASE macro
2015-08-26 22:21:34 +09:00
Yuichi Nishiwaki
ee2a4b92f5
more efficient arguments processing in pic_apply
2015-08-26 21:52:20 +09:00
Yuichi Nishiwaki
6f3083c3ca
never use size_t
2015-08-26 19:04:27 +09:00
Yuichi Nishiwaki
cc952404c5
pic_length should return int type
2015-08-26 18:16:33 +09:00
Yuichi Nishiwaki
98034b5038
suppress warnings
2015-08-26 17:50:28 +09:00
Yuichi Nishiwaki
06af0265f6
remove pic->sGREF, sLREF, sCREF, sCALL
2015-08-25 19:37:20 +09:00
Yuichi Nishiwaki
b96846dc6e
don't use @@type property
2015-08-11 01:34:45 +09:00
Yuichi Nishiwaki
c336e89e72
I dislike newlines
2015-08-11 00:25:07 +09:00
Yuichi Nishiwaki
3a1bf08a78
long int has at least 32 bits (as specified by ISO C)
2015-08-11 00:18:35 +09:00
Yuichi Nishiwaki
9919dee174
define int32_t and uint32_t
2015-08-11 00:16:51 +09:00
Yuichi Nishiwaki
52de9e860a
inline codegen_call_vm
2015-08-10 23:53:36 +09:00
Yuichi Nishiwaki
e0df3f1ecc
remove pic_define_syntactic_keyword
2015-08-10 22:38:31 +09:00
Yuichi Nishiwaki
c547d3a281
use pic_applyN if possible
2015-08-10 22:13:16 +09:00
Yuichi Nishiwaki
5a9958fccc
cosmetic changes
2015-08-10 21:47:42 +09:00
Yuichi Nishiwaki
c139bb0f08
simplify pic_default_alloc impl
2015-08-10 21:17:26 +09:00
Yuichi Nishiwaki
c573f2c56e
stateful allocator
2015-08-10 21:13:23 +09:00
Yuichi Nishiwaki
50dce97bac
unify struct pic_object and union object
2015-08-05 10:59:52 +09:00
Yuichi Nishiwaki
ceafb6b600
remove typedef of pic_list
2015-08-05 10:36:28 +09:00
Yuichi Nishiwaki
fa8557823f
remove unused filed in pic_irep
2015-08-05 10:32:01 +09:00
Yuichi Nishiwaki
a479ec21ec
argument marked unused is used
2015-08-05 09:59:30 +09:00
Yuichi Nishiwaki
98662215e1
use pic_reg to implement pic->macros
2015-08-05 09:42:17 +09:00
Yuichi Nishiwaki
5fa24f9767
global variable table may be weak
2015-08-05 09:36:32 +09:00
Yuichi Nishiwaki
a12be32f19
do not allocate symbols inside vm
2015-08-05 09:03:38 +09:00
Yuichi Nishiwaki
9d25be2e76
[bugfix] update prototype
2015-08-05 09:03:09 +09:00
Yuichi Nishiwaki
537e5b0eed
use boxes for global variable cells
2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki
987931bd0f
add box.h
2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki
261580309e
clean up
2015-08-05 08:50:24 +09:00
Yuichi Nishiwaki
8767d57fbd
cleanup vm
2015-07-30 02:55:37 +09:00
Yuichi Nishiwaki
1a71f3f578
move regs field from pic_state to pic_heap
2015-07-26 16:48:38 +09:00
Yuichi Nishiwaki
da0c9d2594
cleanup
2015-07-23 17:10:53 +09:00
Yuichi Nishiwaki
fae4e28396
shrink union header size
2015-07-23 17:10:53 +09:00
Yuichi Nishiwaki
470eaa485d
[bugfix] wrong allocation size for pic_port
2015-07-23 17:10:53 +09:00
OGINO Masanori
16b427b8c4
Fix typo, alerm -> alarm.
...
This commit also enables some tests to catch more regressions.
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2015-07-22 23:06:46 +09:00
Yuichi Nishiwaki
ee9ee2f03e
add inline expansion optimization
2015-07-22 16:09:41 +09:00
Yuichi Nishiwaki
5f9a6880e2
[bugfix] rest argument does not work with local definitions
2015-07-22 16:08:54 +09:00
Yuichi Nishiwaki
a6aa479b61
refine pic_dump_irep format
2015-07-22 16:00:30 +09:00
Yuichi Nishiwaki
2848e2fe9e
improve error message
2015-07-22 15:59:04 +09:00
Yuichi Nishiwaki
d11b569abf
keep (picrin user) empty unless picrin is started in repl mode
2015-07-20 19:26:33 +09:00
Yuichi Nishiwaki
6b42145e00
support '%c' specifier in xfprintf
2015-07-20 19:02:52 +09:00
Yuichi Nishiwaki
569b14d684
cosmetic changes
2015-07-20 15:18:12 +09:00
Yuichi Nishiwaki
7db74c4b7a
rewrite gc.c with union object
2015-07-20 15:02:16 +09:00
Yuichi Nishiwaki
e6c35764dd
TCO for gc_mark_object
2015-07-20 14:24:58 +09:00
Yuichi Nishiwaki
7dc26dd674
don't use PIC_VTYPE_FOO constants outside type.h
2015-07-20 14:07:24 +09:00
Yuichi Nishiwaki
f5b07cacd2
remove alignment field
2015-07-20 13:51:37 +09:00
Yuichi Nishiwaki
1258b8bff3
cosmetic chagnes
2015-07-20 13:51:37 +09:00
Yuichi Nishiwaki
3a96d093ed
strict check
2015-07-20 02:52:47 +09:00
Yuichi Nishiwaki
86a056c70a
[bugfix] some paths in no-libc mode depend on lib
2015-07-20 02:45:57 +09:00
Yuichi Nishiwaki
c2754509f2
remove PIC_ENABLE_FLOAT flag
2015-07-20 02:19:41 +09:00
Yuichi Nishiwaki
5e13d35d10
cosmetic changes
2015-07-20 02:04:51 +09:00
Yuichi Nishiwaki
4a7c87eb84
rewrite arithmetic operators and comparators with pic_op
2015-07-20 02:03:56 +09:00
Yuichi Nishiwaki
a5317898cb
don't define number classifying procedures such as real? and complex? in C
2015-07-20 01:45:21 +09:00
Yuichi Nishiwaki
ac10c3fcc1
remove unused function
2015-07-20 01:25:04 +09:00
Yuichi Nishiwaki
57e4942ae2
move abs and expt
2015-07-20 01:24:35 +09:00
Yuichi Nishiwaki
6551506160
move more procedures
2015-07-20 01:22:29 +09:00
Yuichi Nishiwaki
d66ae479cc
move some math procedures to math nitro
2015-07-20 01:12:37 +09:00
Yuichi Nishiwaki
18965f9ce7
remove undefined? procedure
2015-07-18 15:31:37 +09:00
Yuichi Nishiwaki
3739387160
register now returns #f or a pair
2015-07-18 15:28:53 +09:00
Yuichi Nishiwaki
238f5999bc
dictionary-ref now returns a pair or #f
2015-07-18 15:22:33 +09:00
Yuichi Nishiwaki
22e85c159e
cosmetic changes
2015-07-16 18:44:23 +09:00
Yuichi Nishiwaki
6fdd5ef05d
[bugfix] don't melt base header into *backword* free chunk as well.
2015-07-16 17:11:55 +09:00
Yuichi Nishiwaki
ebcf6d00fb
set default page size to 4MB
2015-07-16 16:36:57 +09:00
Yuichi Nishiwaki
6b50ebba2b
early morecore request
2015-07-16 16:34:59 +09:00
Yuichi Nishiwaki
d43db5e9c8
[bugfix] change block layout in page
2015-07-16 16:13:30 +09:00
Yuichi Nishiwaki
a58ebe91a8
cosmetic changes
2015-07-16 15:53:18 +09:00
Yuichi Nishiwaki
6d43b31a68
remove unnecessary prototype
2015-07-16 15:44:06 +09:00
Yuichi Nishiwaki
b4f8d929ec
don't cache freep
2015-07-16 15:42:44 +09:00
Yuichi Nishiwaki
0fc2a8e273
change heap_free prototype
2015-07-16 15:41:43 +09:00
Yuichi Nishiwaki
30efc25633
gc_alloc no longer takes care of mark property
2015-07-16 15:38:37 +09:00
Yuichi Nishiwaki
75d22404cb
cleanup
2015-07-16 15:33:31 +09:00
Yuichi Nishiwaki
7b8c6df7bc
don't need to clear out pages
2015-07-16 15:31:11 +09:00
Yuichi Nishiwaki
1c77115c56
[bugfix] memory leak
2015-07-16 15:28:30 +09:00
Yuichi Nishiwaki
46e3665970
inline heap_init
2015-07-15 23:32:31 +09:00
Yuichi Nishiwaki
f9cfbba331
unalloced region may have any mark state
2015-07-15 23:30:49 +09:00
Yuichi Nishiwaki
13f16e3e09
Revert "remove unused guard"
...
This reverts commit ea90800e56
.
2015-07-15 23:28:45 +09:00
Yuichi Nishiwaki
ea90800e56
remove unused guard
2015-07-15 23:25:57 +09:00
Yuichi Nishiwaki
f8ceef96d0
remove debug codes
2015-07-15 23:25:39 +09:00
Yuichi Nishiwaki
51a42708b5
saner redefinition warning
2015-07-14 07:12:57 +09:00
Yuichi Nishiwaki
072a32601f
don't use VLA
2015-07-13 10:02:01 +09:00
Yuichi Nishiwaki
9f3fefd606
Merge branch 'master' into api-change
2015-07-13 09:59:59 +09:00
Yuichi Nishiwaki
269f4719f4
Revert "int div int becomes float"
...
This reverts commit 15411c9777
.
2015-07-13 09:56:59 +09:00
Yuichi Nishiwaki
15411c9777
int div int becomes float
2015-07-13 09:50:18 +09:00
Yuichi Nishiwaki
ecd21ffb5a
suppress unused-value warning
2015-07-13 09:45:14 +09:00
Yuichi Nishiwaki
c30392b0c3
remove unused variable f
2015-07-13 09:39:26 +09:00
Yuichi Nishiwaki
0f55320a67
running map or foreach on multiple dictionaries does not make sense.
2015-07-13 09:32:27 +09:00
Yuichi Nishiwaki
f6bb2ce178
don't use vla
2015-07-13 09:27:12 +09:00
Yuichi Nishiwaki
6363bd3f33
remove trailing comma
2015-07-13 09:15:51 +09:00
Yuichi Nishiwaki
03550bbf41
remove semicolon outside function definition
2015-07-13 09:15:34 +09:00
Yuichi Nishiwaki
d1e5e81580
khash doesn't need to require int32
2015-07-13 09:13:45 +09:00
Yuichi Nishiwaki
5635661b3c
remove pic_make_str_fill
2015-07-13 09:03:32 +09:00
Yuichi Nishiwaki
cbe5e81b28
remove pic_make_vec_from_list
2015-07-13 09:03:12 +09:00
Yuichi Nishiwaki
5c5066bfa0
Revert "add box type"
...
This reverts commit d53f0cf9e4
.
2015-07-13 08:24:06 +09:00
Yuichi Nishiwaki
42ec53d73f
remove pic_errmsg
2015-07-13 08:22:19 +09:00
Yuichi Nishiwaki
5c2cbb9e55
pic_load_port -> pic_load
2015-07-13 08:20:07 +09:00
Yuichi Nishiwaki
71d1d4837d
pic_intern_cstr -> pic_intern
2015-07-13 08:16:04 +09:00
Yuichi Nishiwaki
81c38d8fa2
s/PICRIN_VALUE_H/PICRIN_TYPE_H/g
2015-07-13 08:10:30 +09:00
Yuichi Nishiwaki
e944183e99
pic_obj_alloc_unsafe should be private
2015-07-13 08:05:46 +09:00
Yuichi Nishiwaki
40a4e2ead4
remove make-error-object
2015-07-13 07:59:57 +09:00
Yuichi Nishiwaki
d0c442d451
add picrin/opcode.h
2015-07-09 04:40:15 +09:00
Yuichi Nishiwaki
2def465705
value.h -> type.h
2015-07-09 04:36:03 +09:00
Yuichi Nishiwaki
5f454626f6
move picrin/array to contrib/
2015-07-09 01:51:55 +09:00
Yuichi Nishiwaki
1be4fd10f9
remove unnecessary exports
2015-07-08 18:57:53 +09:00
Yuichi Nishiwaki
976a44185d
cache slot objects
2015-07-07 15:16:00 +09:00
Yuichi Nishiwaki
1e104921eb
cache gref slot
2015-07-07 14:42:50 +09:00
Yuichi Nishiwaki
d53f0cf9e4
add box type
2015-07-06 21:32:42 +09:00
Yuichi Nishiwaki
acc1852400
remove unused symbols
2015-07-06 19:14:18 +09:00
Yuichi Nishiwaki
9e04a80636
add OP_GT and OP_GE
2015-07-06 19:13:00 +09:00
Yuichi Nishiwaki
055691ebfc
[bugfix] t/escape.scm doesn't work
2015-07-06 14:19:12 +09:00
Yuichi Nishiwaki
5e6f6f85f4
[bugfix] pic_load_point should restore pic->cc
2015-07-06 14:18:49 +09:00
Yuichi Nishiwaki
f210efd066
[bugfix] (set! symbol? list) doesn't work
2015-07-04 18:48:48 +09:00
Yuichi Nishiwaki
e6719a43bb
[bugfix] renaming import broken
2015-07-04 18:17:01 +09:00
Yuichi Nishiwaki
7e970258f4
cleanup
2015-07-04 18:14:31 +09:00
Yuichi Nishiwaki
1a886ee50f
check number of arguments at runtime
2015-07-04 18:05:57 +09:00
Yuichi Nishiwaki
5e55668b92
[bugfix] sometimes OP_CSET doesn't push undef
2015-07-04 18:01:48 +09:00
Yuichi Nishiwaki
25f80dc87d
don't cons in call-with-values
2015-07-04 18:01:30 +09:00
Yuichi Nishiwaki
3285cc021b
use snprintf and atof if possible
2015-07-04 17:32:16 +09:00
Yuichi Nishiwaki
73b7d577d7
Revert "remove dead code"
...
This reverts commit 004e3eda48
.
2015-07-04 17:24:53 +09:00
Yuichi Nishiwaki
1d1e41e122
refactor create_activation
2015-07-04 17:24:39 +09:00
Yuichi Nishiwaki
8ba4c0305d
bugfix
2015-07-04 16:07:21 +09:00
Yuichi Nishiwaki
046fa0adad
fix build
2015-07-04 15:30:02 +09:00
Yuichi Nishiwaki
07bb4a0f6b
cache irep
2015-07-04 14:31:06 +09:00
Yuichi Nishiwaki
1c538a13f1
OP_RET's operand is no longer used
2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki
18df88d457
optimize vm_get_irep
2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki
004e3eda48
remove dead code
2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki
10522b54e9
add pic_add, pic_sub, ..., pic_eq, pic_lt, ...
2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki
b01042505f
remove OP_MINUS
2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki
a6dbf0067b
cosmetic changes
2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki
e812e8fb3d
fix #282 .
...
by following @keens' advice
2015-07-03 03:57:33 +09:00
Yuichi Nishiwaki
6e49d91e9f
export core syntaxes
2015-07-03 03:16:47 +09:00
Yuichi Nishiwaki
4905aab416
remove pic->file and pic->read
2015-07-02 08:50:28 +09:00
Yuichi Nishiwaki
65ade266d1
remove pic_defun_vm
2015-07-02 06:17:27 +09:00
Yuichi Nishiwaki
c9245bbe84
optimize vm set operators
2015-07-02 05:59:54 +09:00
Yuichi Nishiwaki
f9df81f046
remove unused symbols
2015-07-02 05:36:09 +09:00
Yuichi Nishiwaki
f622ba3db4
refactor codegen_call
2015-07-02 05:26:05 +09:00
Yuichi Nishiwaki
28b180ac3f
split codegen function
2015-07-02 05:07:16 +09:00
Yuichi Nishiwaki
43f385760d
simplify management of deferred forms
2015-07-02 04:36:21 +09:00
Yuichi Nishiwaki
0a0c94fb91
perform tail position analysis on the fly at codegen
2015-07-02 04:23:07 +09:00
Yuichi Nishiwaki
9c908b2622
cosmetic changes
2015-07-02 03:33:25 +09:00
OGINO Masanori
04dc5c3176
Add `ieee-float` feature iff PIC_ENABLE_FLOAT.
...
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2015-06-30 10:06:11 +09:00
Yuichi Nishiwaki
6d2966e946
don't cons in pic_valuesN
2015-06-30 01:19:04 +09:00
Yuichi Nishiwaki
f6a727beb4
cleanup pic_read
2015-06-30 01:17:13 +09:00
Yuichi Nishiwaki
5138ab4a8c
save arena
2015-06-30 01:17:13 +09:00
Yuichi Nishiwaki
d097a021e3
optimize begin emitter
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
f4b54c85ea
invoke pic_panic when evalating pic_boot failed
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
e5f7eda432
more arena freeing during compilation
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
bda1b93ec2
[bugfix][critical] heap pollution while symbol allocation
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
849032ef1a
cosmetic changes
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
1595be099b
define emit_x functions as macros
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
62dbdb79dd
cleanup
2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki
428e006098
add symbol macro
2015-06-29 18:26:12 +09:00
Yuichi Nishiwaki
3428803bdb
less consing
2015-06-27 19:19:43 +09:00
Yuichi Nishiwaki
885942b541
more cleanup
2015-06-27 19:10:15 +09:00
Yuichi Nishiwaki
ddcf96f689
remove pic_proc_name (for a moment)
2015-06-27 19:02:18 +09:00
Yuichi Nishiwaki
36c498e7d7
cleanup analyzer
2015-06-27 18:48:21 +09:00
Yuichi Nishiwaki
5633bbefae
don't enclose load_cstr with try-catch
2015-06-27 18:38:16 +09:00
Yuichi Nishiwaki
f98a5ab14d
cleanup
2015-06-27 18:23:08 +09:00
Yuichi Nishiwaki
1bed1bd420
remove unnecessary error checks
2015-06-27 18:08:57 +09:00
Yuichi Nishiwaki
4d18610a79
refine error messages
2015-06-27 17:50:03 +09:00
Yuichi Nishiwaki
bcf53b9883
reimplement core syntaxes in scheme
2015-06-27 17:43:42 +09:00
Yuichi Nishiwaki
8c6496ef24
remvoe dead code
2015-06-27 16:44:05 +09:00
Yuichi Nishiwaki
ac094a9477
cosmetic changes
2015-06-27 16:33:31 +09:00
Yuichi Nishiwaki
df645b68ae
more optimization
2015-06-27 15:59:22 +09:00
Yuichi Nishiwaki
03792f85de
fast compile
2015-06-27 15:30:17 +09:00
Yuichi Nishiwaki
4a8e59e04b
don't run malloc while anazlyze/codegen
2015-06-27 14:23:31 +09:00
Yuichi Nishiwaki
8b550de06a
[bugfix] port leaks
2015-06-26 23:45:56 +09:00
Yuichi Nishiwaki
8e90517224
[bugfix] port should be closed properly
2015-06-26 23:06:52 +09:00
Yuichi Nishiwaki
d8e00f5725
don't malloc duplicated cstring
2015-06-26 02:32:59 +09:00
Yuichi Nishiwaki
33dfe2b5cc
change pic_open interface
2015-06-26 02:13:48 +09:00
Yuichi Nishiwaki
8587fe6dfc
fix benz's issue 29
2015-06-25 22:33:17 +09:00
Yuichi Nishiwaki
df13e35044
fix dictionary conviersion procedures
2015-06-25 22:29:27 +09:00
Yuichi Nishiwaki
b71c9dcbff
cosmetic changes
2015-06-25 18:51:21 +09:00
Yuichi Nishiwaki
cc9dd2aa30
saner output from write
...
No more insane output such as (#0=(1 2 3) #0#).
2015-06-25 18:43:06 +09:00
Yuichi Nishiwaki
032e40e963
cleanup write_core
2015-06-25 17:50:20 +09:00
Yuichi Nishiwaki
37902d38f7
cleanup traverse_shared
2015-06-25 17:28:48 +09:00
Yuichi Nishiwaki
3004f2106c
write supports #' #` #, #,@
2015-06-25 17:19:34 +09:00
Yuichi Nishiwaki
9db8b33c61
abandon xhash
2015-06-25 07:58:58 +09:00
Yuichi Nishiwaki
42794ebbff
use khash for reader
2015-06-25 07:34:10 +09:00
Yuichi Nishiwaki
5cbb44d6b8
use khash for env
2015-06-25 07:26:48 +09:00
Yuichi Nishiwaki
d500dd5d76
don't use xhash in codegen
2015-06-25 07:19:11 +09:00
Yuichi Nishiwaki
11ed51b236
use khash for registers
2015-06-25 07:14:29 +09:00
Yuichi Nishiwaki
0fb87449fc
use khash for pic->syms
2015-06-25 07:05:41 +09:00
Yuichi Nishiwaki
03a649ed23
use khash in equal? impl
2015-06-25 06:44:45 +09:00
Yuichi Nishiwaki
d6edf41305
kh_resize operation never fail
2015-06-25 06:39:13 +09:00
Yuichi Nishiwaki
2e1280ce5c
don't use malloc/realloc/free in khash.h
2015-06-25 06:13:20 +09:00
Yuichi Nishiwaki
a7475a66fe
Merge branch 'master' into khash-kvec
2015-06-25 05:58:12 +09:00
Yuichi Nishiwaki
6b15304d85
[bugfix] ptable consists of registers
2015-06-25 05:56:47 +09:00
Yuichi Nishiwaki
5cf1822813
use khash for dictionary impl
2015-06-25 05:56:15 +09:00
Yuichi Nishiwaki
0daa4febb0
fix #270
2015-06-24 02:17:13 +09:00
Yuichi Nishiwaki
f5789c7c6f
added c functions to define private varaibles. see discussion on #271
2015-06-24 02:02:26 +09:00
Yuichi Nishiwaki
07fc2bb98e
cleanup
2015-06-24 01:13:18 +09:00
Yuichi Nishiwaki
f0434a8b37
abandon xvect.h, move on to kvec.h
2015-06-23 22:08:18 +09:00
Yuichi Nishiwaki
e2ad39074b
cleanup
2015-06-23 04:01:25 +09:00
Yuichi Nishiwaki
777ba0ff6a
[bugfix] don't compare continuation objects by pointers. They may be
...
reused when it reenters the same stack position.
2015-06-23 03:14:00 +09:00
Yuichi Nishiwaki
aae1b8792a
remove struct pic_picjmp
2015-06-23 03:14:00 +09:00
Yuichi Nishiwaki
aa79797334
fix #234
2015-06-22 17:41:17 +09:00
Yuichi Nishiwaki
e730a314f4
[bugfix] memory leak of pic_checkpoint
2015-06-22 17:12:19 +09:00
Yuichi Nishiwaki
a0323bd5fc
print error irritants
2015-06-20 02:34:00 +09:00
Yuichi Nishiwaki
535cd0c21e
don't reformat error message because it removes trace info
2015-06-20 02:32:25 +09:00
Yuichi Nishiwaki
ad6833ac79
fix #230
2015-06-19 23:34:12 +09:00
Yuichi Nishiwaki
32653df178
cleanup
2015-06-19 21:21:04 +09:00
Yuichi Nishiwaki
7ec81ab1d5
add pic_resolve
2015-06-19 17:31:47 +09:00
Yuichi Nishiwaki
3021e7f2b9
add PIC_ENABLE_STDIO flag
2015-06-19 14:03:52 +09:00
Yuichi Nishiwaki
20cb77bbbe
file.h is now stdio.h-free
2015-06-19 05:14:18 +09:00
Yuichi Nishiwaki
a0d6c5800c
add pic_open_file
2015-06-19 05:00:36 +09:00
Yuichi Nishiwaki
cf037f27db
remove library-name
2015-06-19 03:31:24 +09:00
Yuichi Nishiwaki
4bc765da65
move include of gc.h
2015-06-19 03:27:03 +09:00
Yuichi Nishiwaki
19c09ba643
move contents of util.h to compat.h
2015-06-19 03:23:07 +09:00
Yuichi Nishiwaki
10f81512d8
don't malloc pic_reader
2015-06-19 03:14:55 +09:00
Yuichi Nishiwaki
db0767c931
don't malloc pic->iseq
2015-06-19 03:10:11 +09:00
Yuichi Nishiwaki
78bd3047f8
don't use global mutable variable!
2015-06-19 03:06:57 +09:00
Yuichi Nishiwaki
e43a9c7881
pass pic_state object to vtable functions
2015-06-19 02:29:17 +09:00
Yuichi Nishiwaki
3df7d1dd71
use pic_malloc and pic_free in file.c
2015-06-19 02:05:56 +09:00
Yuichi Nishiwaki
2e59b6ab04
rename xfile.[ch] to file.[ch]
2015-06-19 01:11:04 +09:00
Yuichi Nishiwaki
d1aa42cd7a
[bugfix] double close should be safe
2015-06-19 01:04:04 +09:00
Yuichi Nishiwaki
f2e6feea7f
assert value bound to current-(input|output|error)-port is port
2015-06-19 00:02:24 +09:00
Yuichi Nishiwaki
0b66447e79
remove port->status property
2015-06-18 23:26:31 +09:00
Yuichi Nishiwaki
b4c3e2cc4f
small refactoring. use DEFINE_STANDARD_PORT_ACCESSOR macro to define pic_stdxx
2015-06-18 23:15:09 +09:00
Yuichi Nishiwaki
61ff69b968
remove pic->xSTDXX
2015-06-18 22:59:22 +09:00
Yuichi Nishiwaki
1d1210db09
cleanup lib.c
2015-06-17 01:52:20 +09:00
Yuichi Nishiwaki
29a966d678
define export in scheme
2015-06-17 01:44:11 +09:00
Yuichi Nishiwaki
52b03d928c
define import in scheme
2015-06-17 00:59:19 +09:00
Yuichi Nishiwaki
fa1c619633
define define-library and cond-expand in scheme
2015-06-17 00:14:12 +09:00
Yuichi Nishiwaki
63d3510de8
move features procedure defun to state.c benz
2015-06-17 00:13:00 +09:00
Yuichi Nishiwaki
62b7c1a0f9
warn macro redefinition only when transformer object slot is being overwritten
2015-06-17 00:11:02 +09:00
Yuichi Nishiwaki
490c97cd81
add library-name and current-library
2015-06-17 00:03:52 +09:00
Yuichi Nishiwaki
4f69cb8ec3
eval procedure now takes environment object for the second argument
2015-06-16 22:51:49 +09:00
Yuichi Nishiwaki
eef74604d0
add library operators
2015-06-16 22:51:05 +09:00
Yuichi Nishiwaki
a88b5e193f
remove #. reader
2015-06-16 21:39:41 +09:00
Yuichi Nishiwaki
7dd0e01b70
support (equal? identifier1 identifier2)
2015-06-16 21:13:41 +09:00
Yuichi Nishiwaki
cf66d600bb
move macroexpander to codegen.c
2015-06-16 21:01:46 +09:00
Yuichi Nishiwaki
85e8d1511b
remove defer property from pic_env
...
explicitly pass deferred lambda list to expand functions
2015-06-16 20:57:18 +09:00
Yuichi Nishiwaki
2e5b66fabd
s/macroexpand/expand/g
2015-06-16 20:27:58 +09:00
Yuichi Nishiwaki
2c269b4f0e
syntax-quote and syntax-quasiquote should create identifiers at runtime,
...
not at compile time
2015-06-16 19:16:23 +09:00
Yuichi Nishiwaki
84a3eaee35
change eval interface: eval takes an expression and an environment
...
macroexpand should be done in the context in which the expansion is
running. As of now I only changed c interface of eval but should change
the scheme interface as well ASAP.
2015-06-16 19:16:06 +09:00
Yuichi Nishiwaki
a10ac3b770
rewrite boot.c. add syntax-quote family
...
[boot.c] (cond) should be expanded into #undefined
update boot.c
[boot.c] bugfix
boot.c bugfix
2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki
25c0eb125e
add identifier-variable and identifier-environment
2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki
181d120f09
reader support of (#' #` #, #,@)
2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki
6d80b58060
assume all symbols are bound at the toplevel
2015-06-15 02:52:36 +09:00
Yuichi Nishiwaki
3a59a95960
[WIP] replace macro expander
...
remove define-syntax, add define-macro instead
saner display when writing identifiers
2015-06-15 02:48:31 +09:00
Yuichi Nishiwaki
454146ab52
s/rXXX/uXXX/g
2015-06-15 02:30:05 +09:00
Yuichi Nishiwaki
015971ffc4
remove define-record-writer
2015-06-15 02:25:09 +09:00
Yuichi Nishiwaki
6c1abe32fe
s/registry/register/g
2015-06-15 02:17:27 +09:00
OGINO Masanori
2816f206fb
Define GCC_VERSION in util.h temporarily.
...
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2015-06-12 18:59:59 +09:00
Yuichi Nishiwaki
483edb5708
flush all xFILEs at exit
2015-06-10 22:37:05 +09:00
Yuichi Nishiwaki
191d3067f8
Revert "Revert "remove in-library""
...
This reverts commit 77d3b0b41e
.
2015-06-09 23:02:06 +09:00
Yuichi Nishiwaki
2b1fa0692d
fix debug print
2015-06-09 22:49:49 +09:00
Yuichi Nishiwaki
cf411fd62a
lazy export
2015-06-09 22:36:04 +09:00
Yuichi Nishiwaki
98857c0726
change pic_find_rename interface
2015-06-09 22:26:21 +09:00
Yuichi Nishiwaki
6af9a3ee7d
remove pic_warn
2015-06-09 22:13:46 +09:00