Yuichi Nishiwaki
|
d85801e396
|
rational number literal reads exact integer if possible
|
2014-07-15 17:58:46 +09:00 |
Yuichi Nishiwaki
|
bb427cf275
|
style fix
|
2014-07-15 13:42:19 +09:00 |
Yuichi Nishiwaki
|
5faa7cd46d
|
leave core syntax keywords renamed
|
2014-07-14 10:08:11 +09:00 |
Yuichi Nishiwaki
|
6c45bb3c5d
|
support let-syntax
|
2014-07-13 22:36:30 +09:00 |
Yuichi Nishiwaki
|
730cfc8601
|
refactor macroexpand_lambda
|
2014-07-13 21:05:57 +09:00 |
Yuichi Nishiwaki
|
1989a972cb
|
refactor macroexpand_define. make use of macroexpand_lambda function
|
2014-07-13 21:01:30 +09:00 |
Yuichi Nishiwaki
|
e08ec23a9f
|
s/formals/formal/g
|
2014-07-13 20:39:34 +09:00 |
Yuichi Nishiwaki
|
6cf4fe942a
|
rewrite iteration with recursion. since we have variable-length arena
now, it is no longer required to avoid big arena consumption.
|
2014-07-13 20:32:26 +09:00 |
Yuichi Nishiwaki
|
c57f8a5016
|
add pic_void macro
|
2014-07-13 20:20:04 +09:00 |
Yuichi Nishiwaki
|
631926aa96
|
function reorder
|
2014-07-13 20:19:45 +09:00 |
Yuichi Nishiwaki
|
6d20c0e3e0
|
cosmetic changes again
|
2014-07-13 20:09:42 +09:00 |
Yuichi Nishiwaki
|
601b54ba1f
|
cosmetic changes
|
2014-07-13 20:06:08 +09:00 |
Yuichi Nishiwaki
|
e1cba4b48e
|
refactor translate to use pic_dict instead of boxes
|
2014-07-13 20:01:09 +09:00 |
Yuichi Nishiwaki
|
54d50d57a1
|
add pic_dict_has
|
2014-07-13 19:49:24 +09:00 |
Yuichi Nishiwaki
|
73c406ed42
|
add translate function
|
2014-07-13 19:49:24 +09:00 |
Yuichi Nishiwaki
|
9e5b019e44
|
add dictionary-for-each
|
2014-07-13 12:27:03 +09:00 |
Yuichi Nishiwaki
|
88593b1f9d
|
rename 'dictionary' 'make-dictionary'
|
2014-07-13 12:07:56 +09:00 |
Yuichi Nishiwaki
|
b0474aaec2
|
add dictionary operators
|
2014-07-13 12:07:07 +09:00 |
Yuichi Nishiwaki
|
2c4fd589bf
|
manage values in a stack
|
2014-07-13 11:07:43 +09:00 |
Yuichi Nishiwaki
|
9e8d53088f
|
add pic_set_c[ad]r
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
7ffcbb7a7d
|
refactor var. c api no longer supports converters.
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
c3106a9608
|
improve error message
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
114e445901
|
get rid of doubled semicolons
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
05309a1d38
|
don't use pic_defvar
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
fe375a7224
|
add pic_funcall
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
13fec26c59
|
remove var accessor and mutators
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
fce57ec8c9
|
remove get_var_from_proc (essentially the same as pic_unwrap_var)
|
2014-07-13 11:07:42 +09:00 |
Yuichi Nishiwaki
|
378f01fa03
|
add attribute function
|
2014-07-13 11:01:23 +09:00 |
Yuichi Nishiwaki
|
56ae4de826
|
add attribute information to closure objects
|
2014-07-13 10:58:21 +09:00 |
Yuichi Nishiwaki
|
82de3cfe2f
|
add pic_dict_new
|
2014-07-13 10:58:13 +09:00 |
Yuichi Nishiwaki
|
7aa17f5d1f
|
read rational '123/456' literal
|
2014-07-11 22:44:44 +09:00 |
Yuichi Nishiwaki
|
6614f8fc4f
|
support #true and #false literals
|
2014-07-04 13:44:30 +09:00 |
Yuichi Nishiwaki
|
d810e42666
|
throw READ_ERROR when parser raised
|
2014-07-04 13:32:54 +09:00 |
Yuichi Nishiwaki
|
1402a97354
|
change pic_throw API
|
2014-07-04 13:32:45 +09:00 |
Yuichi Nishiwaki
|
69c0e702c6
|
remove useless fflush
|
2014-06-29 16:22:22 +09:00 |
Yuichi Nishiwaki
|
a6ac56d311
|
rewrite `include` macro with scheme
|
2014-06-29 15:08:23 +09:00 |
Sunrim KIM (keen)
|
8d9b7e9bf3
|
ensure flush contents into the port made in `open-input-bytevector`
|
2014-06-29 13:46:46 +09:00 |
Yuichi Nishiwaki
|
fdbd7bd2c9
|
[bugfix] glibc's getenv function does not igrore trailing '='
|
2014-06-29 01:06:07 +09:00 |
Yuichi Nishiwaki
|
89506d0ced
|
[bugfix] allocate size was inefficient
|
2014-06-29 00:54:20 +09:00 |
Yuichi Nishiwaki
|
690e2cdba6
|
refactor number parser
|
2014-06-28 22:32:26 +09:00 |
Yuichi Nishiwaki
|
4fd99b5955
|
[bugfix] return value from pic_get_args does not include proc object
|
2014-06-28 21:53:14 +09:00 |
Yuichi Nishiwaki
|
76220e1e8e
|
infinity is not rational
|
2014-06-28 21:43:44 +09:00 |
Yuichi Nishiwaki
|
5d3c59fc98
|
reads number as accurate as possible
|
2014-06-28 21:41:35 +09:00 |
Yuichi Nishiwaki
|
c44803d238
|
[bugfix] using uninitializing variable
|
2014-06-28 20:45:41 +09:00 |
Yuichi Nishiwaki
|
39b1e6c6bc
|
[bugfix] comparator transitivity broken
|
2014-06-28 20:30:19 +09:00 |
Yuichi Nishiwaki
|
c5400b4b2d
|
support more than 2 argument-comparators
|
2014-06-28 20:29:49 +09:00 |
Yuichi Nishiwaki
|
4772441589
|
allow "(a . b #;c )"
|
2014-06-28 20:02:13 +09:00 |
Yuichi Nishiwaki
|
aae4bba98d
|
[bugfix] wrong size for read string
|
2014-06-28 19:47:45 +09:00 |
Yuichi Nishiwaki
|
5ba0402221
|
fix type warning (int and size_t)
|
2014-06-28 19:23:24 +09:00 |
Yuichi Nishiwaki
|
2fb97d16ed
|
style fix
|
2014-06-28 19:23:06 +09:00 |
Sunrim KIM (keen)
|
49a4808a22
|
check length before compare contents
|
2014-06-28 19:18:35 +09:00 |
Sunrim KIM (keen)
|
8533876682
|
vectors, blobs, strings with equal contets are equal
|
2014-06-28 19:17:42 +09:00 |
Yuichi Nishiwaki
|
3ee807a347
|
fix xr_put
|
2014-06-27 17:40:43 +09:00 |
Yuichi Nishiwaki
|
39a87d1c60
|
Merge pull request #131 from KeenS/missing-functions
( ref #130 ) Missing functions
|
2014-06-27 09:03:50 +09:00 |
Yuichi Nishiwaki
|
51b8344527
|
support infinity and nan literals
|
2014-06-27 08:55:02 +09:00 |
Yuichi Nishiwaki
|
36e0aa6f69
|
[bugfix] compound literals should consider inner comments
|
2014-06-27 08:55:02 +09:00 |
Yuichi Nishiwaki
|
e1ca64b56e
|
block comment reader must not consume the character right after the
comment end
|
2014-06-27 08:55:02 +09:00 |
Yuichi Nishiwaki
|
0b85e251a2
|
fix negative number reader
|
2014-06-27 08:55:01 +09:00 |
Yuichi Nishiwaki
|
556a460663
|
[bugfix] EOF is a delimiter
|
2014-06-27 08:55:01 +09:00 |
Yuichi Nishiwaki
|
bb43c8d9dc
|
add isdelim
|
2014-06-27 08:55:01 +09:00 |
Yuichi Nishiwaki
|
1eb4940b13
|
use isdigit
|
2014-06-27 08:55:01 +09:00 |
Yuito Murase
|
8374297a22
|
append returns '() when given no args
|
2014-06-26 17:40:26 +09:00 |
Yuichi Nishiwaki
|
bc2a684961
|
add read function support
|
2014-06-25 22:36:56 +09:00 |
Yuichi Nishiwaki
|
2c84168861
|
hold integers in 64bit size
|
2014-06-25 21:49:28 +09:00 |
Yuichi Nishiwaki
|
4d9dc8011c
|
fix read_vector bug
|
2014-06-25 21:40:51 +09:00 |
Yuichi Nishiwaki
|
029efc91c9
|
allow symbols with leading '.'
|
2014-06-25 21:40:42 +09:00 |
Yuichi Nishiwaki
|
bd822fa4c6
|
fix EOF handling
|
2014-06-25 21:40:18 +09:00 |
Yuichi Nishiwaki
|
ee82ee99d7
|
support nested block comment
|
2014-06-25 21:38:11 +09:00 |
Yuichi Nishiwaki
|
1440a51ef8
|
improve error messages of load function
|
2014-06-25 18:18:01 +09:00 |
Yuichi Nishiwaki
|
a90330d3d9
|
comment readers should return undef values to report continuablility to
the parent function
|
2014-06-25 18:06:48 +09:00 |
Yuichi Nishiwaki
|
6eec3629e9
|
use xprintf instead of printf
|
2014-06-25 17:24:42 +09:00 |
Yuichi Nishiwaki
|
b646948e9b
|
allocate buffer in +1 size
|
2014-06-25 17:22:15 +09:00 |
Yuichi Nishiwaki
|
0e66144a4d
|
add pic_open_input_string
|
2014-06-25 15:39:40 +09:00 |
Yuichi Nishiwaki
|
83a13d4ca4
|
remove flex dependency
|
2014-06-25 15:39:30 +09:00 |
Yuichi Nishiwaki
|
da4a4fd449
|
api changes of reader/parser
|
2014-06-25 15:39:04 +09:00 |
Yuichi Nishiwaki
|
0b087b785e
|
store rlabels in global state
|
2014-06-25 15:37:24 +09:00 |
Yuichi Nishiwaki
|
219b244743
|
initial read implementation
|
2014-06-25 15:36:36 +09:00 |
Yuichi Nishiwaki
|
4c78e0694a
|
shrink trampoline iseq
|
2014-06-23 00:56:43 +09:00 |
Yuichi Nishiwaki
|
fa179dc152
|
trampoline_iseq is no longer mutable
|
2014-06-23 00:54:11 +09:00 |
Yuichi Nishiwaki
|
711b53eb72
|
fix #140
|
2014-06-23 00:52:36 +09:00 |
Yuichi Nishiwaki
|
8c80b6ef5b
|
use "%zu"s for size_t
|
2014-06-22 20:09:38 +09:00 |
Sunrim KIM (keen)
|
a0b77fc328
|
Merge branch 'master' into equal
|
2014-06-18 00:48:41 +09:00 |
Sunrim KIM (keen)
|
d706240ada
|
implement circular refarence checking
|
2014-06-18 00:47:50 +09:00 |
Yuichi Nishiwaki
|
e88617a065
|
ignore shebang (#134)
|
2014-06-17 21:28:20 +09:00 |
Yuichi Nishiwaki
|
037967fd58
|
dictionary-delete raises an error when no binding with given name is registered
|
2014-06-15 01:46:31 +09:00 |
Yuichi Nishiwaki
|
a8a56aa34e
|
add dictionary-size
|
2014-06-15 00:36:38 +09:00 |
Yuichi Nishiwaki
|
da553b9001
|
primary symbol to object hashtable support (dictionary)
|
2014-06-14 22:17:57 +09:00 |
Yuichi Nishiwaki
|
f9e733a7b1
|
update xhash
|
2014-06-14 20:59:31 +09:00 |
Yuichi Nishiwaki
|
77cb18bfd4
|
add commentary on pic_get_args
|
2014-06-14 16:08:12 +09:00 |
Yuichi Nishiwaki
|
d94d7a7757
|
Merge pull request #129 from KeenS/hotfix
correct error message
|
2014-06-11 00:16:23 +09:00 |
Sunrim KIM (keen)
|
8d34da0295
|
correct error message
|
2014-06-10 21:50:14 +09:00 |
Yuichi Nishiwaki
|
9beca60a5a
|
Merge pull request #127 from KeenS/hotfix
silence warning from gc.c
|
2014-06-07 21:35:37 +09:00 |
Sunrim KIM (keen)
|
6b171f2716
|
silence warning from gc.c
|
2014-06-07 02:20:29 +09:00 |
Yuichi Nishiwaki
|
53f76b7a47
|
support renaming export
|
2014-06-03 23:54:51 +09:00 |
Yuichi Nishiwaki
|
81c3147695
|
move pic_import and pic_export to lib.c
|
2014-06-03 23:30:00 +09:00 |
Sunrim KIM (keen)
|
6ccfa7ad69
|
some bug fixes
|
2014-05-29 03:58:04 +09:00 |
Sunrim KIM (keen)
|
c8de0ad4ce
|
fix misaligned assertion
|
2014-05-29 01:10:59 +09:00 |
Sunrim KIM (keen)
|
fc6a919914
|
fix errer message of `u8-ready?`
|
2014-05-29 01:04:37 +09:00 |
Sunrim KIM (keen)
|
86a27e95b7
|
add alias of `modulo`, `remainder`, `quotient`
|
2014-05-28 22:49:53 +09:00 |
Sunrim KIM (keen)
|
dcef9579f5
|
check length before compare contents
|
2014-05-28 02:55:19 +09:00 |
Sunrim KIM (keen)
|
0ebaf98409
|
resolve confrict
|
2014-05-28 02:36:23 +09:00 |
Sunrim KIM (keen)
|
a9ef840df9
|
vectors, blobs, strings with equal contets are equal
|
2014-05-27 21:35:19 +09:00 |
Sunrim KIM (keen)
|
cb3a975ed6
|
fix analyze errer for (+) and (*)
|
2014-05-27 18:53:13 +09:00 |
Yuichi Nishiwaki
|
2155a0c8f1
|
declare arena_idx as a size_t
|
2014-05-26 16:06:41 +09:00 |
Yuichi Nishiwaki
|
826eb4415d
|
automatic arena extend
|
2014-05-26 15:56:51 +09:00 |
Yuichi Nishiwaki
|
a003b42435
|
dynamically allocate GC arena
|
2014-05-26 15:51:18 +09:00 |
Sunrim KIM (keen)
|
a73a92cfdb
|
make `read-bytevector(!)` efficint, export `u8-ready?`.
|
2014-05-26 04:08:39 +09:00 |
Sunrim KIM (keen)
|
cffaccf8ef
|
implement the rest procedures of `input` but `u8-ready?` is incomlete like `char-ready?`
|
2014-05-26 03:21:26 +09:00 |
Yuichi Nishiwaki
|
af921a9df8
|
set rpath properly
|
2014-05-21 15:38:12 +09:00 |
Yuichi Nishiwaki
|
5f84c781c0
|
cleanup
|
2014-05-21 01:34:32 +09:00 |
Yuichi Nishiwaki
|
e78ad9f452
|
split into piclib/CMakeLists.txt
|
2014-05-21 00:48:56 +09:00 |
Yuichi Nishiwaki
|
cefe1d8879
|
display libray specs in 'library not found' error
|
2014-05-21 00:37:15 +09:00 |
Yuichi Nishiwaki
|
3232f20936
|
add DEPENDS option
|
2014-05-21 00:29:33 +09:00 |
Yuichi Nishiwaki
|
5ba1d4eb39
|
add partcont library
|
2014-05-19 14:38:32 +09:00 |
Yuichi Nishiwaki
|
10db8b9a2b
|
let embedding files be configurable
|
2014-05-19 13:39:28 +09:00 |
Yuichi Nishiwaki
|
7431eaf71c
|
mv libemb.pl mkloader.pl
|
2014-05-19 13:23:10 +09:00 |
Yuichi Nishiwaki
|
52c175a4fe
|
port libemb.py to perl
|
2014-05-19 08:40:22 +09:00 |
Yuichi Nishiwaki
|
f2d56714b3
|
[bugfix] close #107. On DLL platforms, cmake treats shared library files as same as
BINARY targets, not as LIBRARY targets. Thanks a lot, @ktakashi!
|
2014-05-18 16:21:54 +09:00 |
Yuichi Nishiwaki
|
085d3e198c
|
check if python is installed before running libemb.py
|
2014-05-18 16:13:29 +09:00 |
Yuichi Nishiwaki
|
1ff408b59b
|
cosmetic changes
|
2014-04-12 08:25:17 +09:00 |
Yuichi Nishiwaki
|
183935a31e
|
[bugfix] fix GC fault. call pic_get_backtrace function *before* you
allocate new area for error object.
|
2014-04-10 22:31:05 +09:00 |
Yuichi Nishiwaki
|
f5a4047e28
|
unwind picrin VM registers when pic_pop_try is called
|
2014-04-06 14:02:50 +09:00 |
Yuichi Nishiwaki
|
5893dd5b5c
|
save stacktrace in error objects
|
2014-04-06 14:02:21 +09:00 |
Yuichi Nishiwaki
|
920524dc40
|
add pic_print_backtrace function
|
2014-04-06 14:00:45 +09:00 |
Yuichi Nishiwaki
|
a8de062bcb
|
rename backtrace.c to debug.c
|
2014-04-06 13:36:02 +09:00 |
Yuichi Nishiwaki
|
bc7291a176
|
add support for `make install`
|
2014-04-06 12:36:08 +09:00 |
Yuichi Nishiwaki
|
d143da430a
|
use absolute path to specify libemb.py output path
|
2014-04-06 12:17:08 +09:00 |
Yuichi Nishiwaki
|
2c79e1874c
|
run load_piclib.c generator at every build time
|
2014-04-06 10:05:15 +09:00 |
Yuichi Nishiwaki
|
1d40eb0dea
|
supply substring function
|
2014-04-06 09:52:13 +09:00 |
Yuichi Nishiwaki
|
ecd533babd
|
run piclib generator at cmake run
|
2014-04-06 02:47:40 +09:00 |
Yuichi Nishiwaki
|
4f4c3e24c5
|
embed scheme library files into a c source file
|
2014-04-06 02:47:14 +09:00 |
Yuichi Nishiwaki
|
d0e14a4acb
|
s/pic_load_stdlib/pic_load_piclib/g
|
2014-04-06 02:44:38 +09:00 |
Yuichi Nishiwaki
|
74b44f4d84
|
add pic_load_cstr
|
2014-04-06 02:43:49 +09:00 |
Yuichi Nishiwaki
|
0977c4e325
|
use unreachable macro
|
2014-04-06 00:44:05 +09:00 |
Yuichi Nishiwaki
|
8750b9b4dd
|
add pic_define_syntactic_keyword
|
2014-04-05 04:01:42 +09:00 |
Yuichi Nishiwaki
|
708f348674
|
s/pic_null_syntactic_env/pic_null_syntactic_environment/g
|
2014-04-05 03:50:38 +09:00 |
Yuichi Nishiwaki
|
b9125caa3d
|
remove pic_(minimal|core)_syntactic_env
|
2014-04-05 03:49:20 +09:00 |
Yuichi Nishiwaki
|
b64b2c3074
|
bugfix
|
2014-04-05 02:44:30 +09:00 |
Yuichi Nishiwaki
|
7386460253
|
s/pic_symbol_value/pic_sym_value/g
|
2014-04-05 02:21:07 +09:00 |
Yuichi Nishiwaki
|
eb990b4399
|
cleanup
|
2014-04-05 01:30:51 +09:00 |
Yuichi Nishiwaki
|
16ad48aade
|
add sc_ prefix to identifer? and identifier=? functions
|
2014-04-05 01:28:57 +09:00 |
Yuichi Nishiwaki
|
1215202f66
|
cleanup
|
2014-04-05 01:23:20 +09:00 |
Yuichi Nishiwaki
|
9d2ac6b994
|
inline senv_new
|
2014-04-05 01:21:16 +09:00 |
Yuichi Nishiwaki
|
0d0d4e6482
|
s/senv_new_local/push_scope/g
|
2014-04-05 01:20:19 +09:00 |
Yuichi Nishiwaki
|
1e5c6d899e
|
s/pic_sc/pic_sc_ptr/g. s/pic_senv/pic_senv_ptr/g.
|
2014-04-04 13:07:16 +09:00 |
Yuichi Nishiwaki
|
4ec8398118
|
inline macro_new and add_macro
|
2014-04-04 12:58:28 +09:00 |
Yuichi Nishiwaki
|
845778eefb
|
add define_macro
|
2014-04-04 12:55:51 +09:00 |
Yuichi Nishiwaki
|
0823149e4f
|
cleanup
|
2014-04-04 12:48:26 +09:00 |
Yuichi Nishiwaki
|
880c8c2b03
|
add macroexpand_quote
|
2014-04-03 22:27:36 +09:00 |
Yuichi Nishiwaki
|
aba1f5139b
|
remove senv_add_core
|
2014-04-03 22:26:30 +09:00 |
Yuichi Nishiwaki
|
030c7f9034
|
refactor macro use expander
|
2014-04-03 22:16:09 +09:00 |
Yuichi Nishiwaki
|
113ae32e47
|
separate macroexpand processing into functions
|
2014-04-03 22:01:25 +09:00 |
Yuichi Nishiwaki
|
ffd962290f
|
s/symbol_rename/macroexpand_symbol/g
|
2014-04-03 01:15:39 +09:00 |
Yuichi Nishiwaki
|
c0378cb9ae
|
[refactor] use senv_add_core to register core syntaxes
|
2014-04-03 00:55:34 +09:00 |
Yuichi Nishiwaki
|
28edfb5023
|
implement numerical I/O
|
2014-04-02 00:06:38 +09:00 |
Yuichi Nishiwaki
|
b5a307aa88
|
error on macroexpanding circular objects
|
2014-04-01 11:40:36 +09:00 |
Yuichi Nishiwaki
|
e32e42c5f9
|
support datum label reader
|
2014-04-01 11:40:20 +09:00 |
Yuichi Nishiwaki
|
f66c48cc6f
|
load 26.scm at init.
|
2014-03-31 22:26:31 +09:00 |
Yuichi Nishiwaki
|
43071d2c84
|
refactoring. use boxes.
|
2014-03-31 22:03:03 +09:00 |
Yuichi Nishiwaki
|
01ed285d40
|
fix #36
|
2014-03-31 21:59:36 +09:00 |
Yuichi Nishiwaki
|
2151640331
|
add native box API
|
2014-03-31 21:50:08 +09:00 |
Yuichi Nishiwaki
|
3e8d64fdb7
|
initial regexp support
|
2014-03-31 20:43:36 +09:00 |
Yuichi Nishiwaki
|
4549625182
|
cleanup
|
2014-03-31 08:27:04 +09:00 |
Yuichi Nishiwaki
|
d91ae885b6
|
add fixed-arity pic_values function
|
2014-03-31 08:13:06 +09:00 |
Yuichi Nishiwaki
|
812ec3a87b
|
fix #84
|
2014-03-30 14:45:40 +09:00 |
Yuichi Nishiwaki
|
c3b737037a
|
refactor native_stack_length
|
2014-03-30 14:45:24 +09:00 |
Yuichi Nishiwaki
|
a1101296aa
|
refactor pic_gensym
|
2014-03-29 20:53:20 +09:00 |
Yuichi Nishiwaki
|
d8c182bc69
|
add user-defined data type API
|
2014-03-29 20:42:06 +09:00 |
Yuichi Nishiwaki
|
38c4e7e6de
|
implemented simple backtrace
|
2014-03-29 20:02:11 +09:00 |
Yuichi Nishiwaki
|
7b73b37bec
|
cleanup
|
2014-03-29 09:04:14 +09:00 |
Yuichi Nishiwaki
|
0b58624864
|
no need to handle set!/if/begin syntaces at macroexpansion stage
|
2014-03-29 09:00:37 +09:00 |
Yuichi Nishiwaki
|
c5d9972d2e
|
macro transformer should never return macro objects
|
2014-03-29 08:57:15 +09:00 |
Yuichi Nishiwaki
|
464ecdd452
|
call symbol_rename as much as possible
|
2014-03-29 08:53:24 +09:00 |
Yuichi Nishiwaki
|
cf1e1a8746
|
add pic_proc_name
|
2014-03-28 12:34:54 +09:00 |
Yuichi Nishiwaki
|
a304feaa28
|
show irep names in debug print
|
2014-03-28 12:29:00 +09:00 |
Yuichi Nishiwaki
|
24d6540d56
|
record procedure name in irep
|
2014-03-28 12:26:07 +09:00 |
Yuichi Nishiwaki
|
aeaf33ff47
|
print cfunction name in debug print
|
2014-03-28 12:18:32 +09:00 |
Yuichi Nishiwaki
|
b7d8a2c724
|
record cfunc procedure names
|
2014-03-28 12:18:32 +09:00 |
Yuichi Nishiwaki
|
fbbbf7b019
|
cleanup
|
2014-03-28 12:18:24 +09:00 |
Yuichi Nishiwaki
|
cea7b73840
|
add pic_list7
|
2014-03-28 12:11:59 +09:00 |
Yuichi Nishiwaki
|
010ee9ddb6
|
get rid of redundant symbol to value cast
|
2014-03-28 12:10:09 +09:00 |
Yuichi Nishiwaki
|
c86c153e53
|
when procedual-define is analyzed, don't create a lambda expression
inside, call analyze_procedure directly instead.
|
2014-03-28 12:10:09 +09:00 |
Yuichi Nishiwaki
|
3215ba2677
|
cleanup. move analyze_lambda
|
2014-03-28 12:10:09 +09:00 |
Yuichi Nishiwaki
|
e47bd63762
|
[refactor] add analyze_declare
|
2014-03-28 12:10:09 +09:00 |
Yuichi Nishiwaki
|
e2741f8580
|
[refactor] analyze_define
|
2014-03-28 12:10:09 +09:00 |
Yuichi Nishiwaki
|
9742689c40
|
Revert "reserve the 0 symbol for system use"
This reverts commit 816343bd31 .
Conflicts:
include/picrin/value.h
src/state.c
|
2014-03-27 16:23:22 +09:00 |
Yuichi Nishiwaki
|
c10f40acd4
|
change pic_find_rename API
|
2014-03-27 16:19:55 +09:00 |
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 |