Commit Graph

287 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 53a9e72413 optimize var implementation 2015-06-08 22:28:17 +09:00
Yuichi Nishiwaki 5def1df320 s/pic_winder/pic_checkpoint/g 2015-06-08 21:04:04 +09:00
Yuichi Nishiwaki 77d3b0b41e Revert "remove in-library"
This reverts commit 8604e18719.
2015-06-06 13:48:31 +09:00
Yuichi Nishiwaki 8604e18719 remove in-library 2015-06-04 14:17:37 +09:00
Yuichi Nishiwaki 531187bb2a speed up bytecode compilation 2015-06-04 13:53:41 +09:00
Yuichi Nishiwaki 72baa9a52d remove pic_throw function 2015-06-04 13:23:20 +09:00
Yuichi Nishiwaki 34b6585287 cleanup 2015-06-02 07:57:52 +09:00
Yuichi Nishiwaki 8f891c00c6 fix build 2015-06-02 07:20:47 +09:00
Yuichi Nishiwaki 9573c6db65 use proc_env in callcc implementation 2015-06-02 06:54:39 +09:00
Yuichi Nishiwaki 0ea80d1f34 use proc_env in var implementation 2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki fc957da920 add 'env' property to struct pic_proc
Using attribute to make closure from c function is unsafe because closed
variables are visible from the scheme world. Use env property instead
from now.
2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki ce0c737c95 cleanup 2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki 88092044d7 shrink pic_proc size 2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki 1fb918743a rename variables 2015-06-02 06:32:43 +09:00
Yuichi Nishiwaki 5df4e4f64e rename functions related to continuation 2015-06-02 06:18:09 +09:00
Yuichi Nishiwaki dbcd81c8c1 [bugfix] calling dead escape continuation causes segv 2015-06-02 06:01:16 +09:00
Yuichi Nishiwaki 1e3bb6f1bb cleanup pic_push_try 2015-06-02 05:14:43 +09:00
Yuichi Nishiwaki e0c837baee don't do pop_try in pic_raise 2015-06-02 05:00:17 +09:00
Sunrim KIM (keen) 6e9024b237 don't pass NULL to memcpy 2015-05-31 21:26:06 +09:00
Sunrim KIM (keen) 7b26e6cefe Merge branch 'master' of github.com:picrin-scheme/picrin 2015-05-31 14:25:22 +09:00
Yuichi Nishiwaki 15e61d8cd4 pic_open_library -> pic_make_library 2015-05-31 00:25:40 +09:00
Sunrim KIM (keen) 221f089716 remove prototype declaration of function macro 2015-05-30 23:45:54 +09:00
Yuichi Nishiwaki 599d8f5980 pic_senv -> pic_env 2015-05-30 22:39:03 +09:00
Yuichi Nishiwaki d0e10b49a7 pic_env -> pic_context 2015-05-30 22:34:51 +09:00
Yuichi Nishiwaki 617de67b94 cleanup 2015-05-30 20:05:04 +09:00
Yuichi Nishiwaki 334ceb9e7c fix bugs unveiled by the previous commit 2015-05-30 19:57:32 +09:00
Yuichi Nishiwaki 9b7eb2f996 unify all headers into picrin.h 2015-05-28 23:57:10 +09:00
Yuichi Nishiwaki fa8226e581 [bugfix] pic_debug broken in debug build 2015-05-28 23:30:55 +09:00
Yuichi Nishiwaki 00cde353ba xfile completely refactored 2015-05-28 23:28:55 +09:00
Yuichi Nishiwaki 329251d984 embed chunk buffer into pic_chunk 2015-05-28 17:29:13 +09:00
Yuichi Nishiwaki e30f1a11dc more strict unused variable check 2015-05-28 17:06:41 +09:00
Yuichi Nishiwaki d11da3a400 move complex macros from picrin.h to util.h 2015-05-28 16:54:36 +09:00
Yuichi Nishiwaki 6a692541a6 s/pic_alloc/pic_malloc/g 2015-05-28 16:42:16 +09:00
Yuichi Nishiwaki 278075910a custom allocator and custom abort 2015-05-28 02:12:26 +09:00
Yuichi Nishiwaki 271898ae78 don't use xmopen 2015-05-28 01:58:22 +09:00
Yuichi Nishiwaki 304664eaf0 add libc fallback 2015-05-28 01:55:55 +09:00
Yuichi Nishiwaki 7dcd050e1a add PIC_ENABLE_FLOAT and PIC_WORD_BOXING 2015-05-28 01:48:38 +09:00
Yuichi Nishiwaki 4bdb17db2f style fix 2015-05-28 01:06:44 +09:00
Yuichi Nishiwaki b9dde91123 allow custom setjmp/longjmp 2015-05-28 00:41:55 +09:00
Yuichi Nishiwaki bb55bbfdde [bugfix] codegen causes segv when default irep size is short 2015-05-28 00:21:49 +09:00
Yuichi Nishiwaki 9885bdd982 explicit cast to size_t 2015-05-28 00:17:12 +09:00
Yuichi Nishiwaki 7923f947d7 don't use xstd** from benz 2015-05-28 00:14:10 +09:00
Yuichi Nishiwaki 1fe960716e [bugfix] too long fraction causes overflow 2015-05-28 00:02:24 +09:00
Yuichi Nishiwaki 4cd8dcab60 refactor number reader 2015-05-27 23:40:01 +09:00
Yuichi Nishiwaki 15449354c6 switch string implementation to picrin's 2015-05-27 23:34:40 +09:00
Yuichi Nishiwaki 6d5ef7bda5 more error handling at pic_open 2015-05-27 23:08:47 +09:00
Yuichi Nishiwaki 53dadede15 [bugfix] gc bug 2015-05-27 23:01:35 +09:00
Yuichi Nishiwaki 2bfb6876eb don't use bit field 2015-05-27 22:49:29 +09:00
Yuichi Nishiwaki 81be1b9e3e define pic_dump_irep only if DEBUG is defined 2015-05-27 22:10:51 +09:00
Yuichi Nishiwaki 3bc0be34ac remove trailing comma 2015-05-27 22:08:44 +09:00
Syohei YOSHIDA 919675670f Correct cast type 2015-05-22 14:59:01 +09:00
Sunrin SHIMURA (keen) a8520fe595 number->string: remove trailing 0s 2015-05-11 16:26:55 +09:00
Yuichi Nishiwaki e7946902c1 Merge pull request #258 from picrin-scheme/issue-257
Issue 257
2015-02-05 16:52:35 +09:00
Sunrin SHIMURA (keen) dfd6e453f3 remove unneeded argc initialization 2015-02-05 05:51:39 +00:00
Sunrin SHIMURA (keen) 32831c11e0 fix #257 2015-02-04 14:05:34 +00:00
Sunrin SHIMURA (keen) 06a2b09e69 display proc name in error message raised from `pic_get_args` 2015-02-04 13:46:29 +00:00
Sunrin SHIMURA (keen) 65967f2e05 fix a bug 2015-02-03 17:19:17 +00:00
Sunrin SHIMURA (keen) 1700610729 rewrite to be clean 2015-02-03 16:57:39 +00:00
Sunrin SHIMURA (keen) 9571030f7e Merge branch 'master' into better-error-message2
Conflicts:
	extlib/benz/vm.c
2015-02-02 18:32:20 +00:00
Sunrin SHIMURA (keen) e2f10ba3ad rewrite pic_get_args to check nparams first 2015-02-02 18:30:14 +00:00
Sunrin SHIMURA (keen) 8a7f61bf01 use correct vars 2015-02-01 12:25:48 +00:00
Yuichi Nishiwaki 8e65a9db56 split cstrings every 80 line 2015-01-31 21:14:53 +09:00
Yuichi Nishiwaki 70b2c23ff7 don't use variable-length arrays 2015-01-28 00:56:45 +09:00
Yuichi Nishiwaki fc6e724e8e don't use long long 2015-01-28 00:53:28 +09:00
Yuichi Nishiwaki 154d987294 don't use C99's designated initializer 2015-01-28 00:46:51 +09:00
Yuichi Nishiwaki 6af010f26d SIZE_MAX is not defined in ISO C89 2015-01-28 00:40:39 +09:00
Yuichi Nishiwaki 32d6760d4f portable xprintf implementation 2015-01-28 00:28:54 +09:00
Yuichi Nishiwaki e4248584b6 remove variable-length arrays in string.c 2015-01-27 23:58:03 +09:00
Sunrin SHIMURA (keen) 40dc4a0e9c Merge branch 'better-error-message2' of github.com:picrin-scheme/picrin into better-error-message2 2015-01-27 09:44:06 +00:00
Sunrin SHIMURA (keen) df0b61ed92 Merge branch 'master' into better-error-message2 2015-01-27 09:36:15 +00:00
Yuichi Nishiwaki 914c295177 don't use variable length array 2015-01-27 13:54:41 +09:00
Yuichi Nishiwaki de294b0784 dont use loop initial declaration 2015-01-26 23:55:28 +09:00
Yuichi Nishiwaki 03a4f1a871 don't use flexible array member 2015-01-26 23:07:27 +09:00
Yuichi Nishiwaki c1d4ea9d00 remove trailing comma 2015-01-26 23:06:52 +09:00
Yuichi Nishiwaki 9968b15264 change PIC_NAN_BOXING enabling condition 2015-01-26 22:55:59 +09:00
Yuichi Nishiwaki 0b67ec47f3 don't use indirect gotos in strict mode 2015-01-26 22:50:44 +09:00
Yuichi Nishiwaki be29b69c0c don't require c99 2015-01-26 22:50:38 +09:00
Yuichi Nishiwaki b2a539fb69 update error message 2015-01-26 15:25:40 +09:00
Yuichi Nishiwaki 9417b45005 [bugfix] pic_load_point must store escape->results 2015-01-26 15:10:26 +09:00
Yuichi Nishiwaki 303041abc5 fix degade 2015-01-26 14:33:48 +09:00
Yuichi Nishiwaki 336fc21761 merge init.c into state.c 2015-01-26 14:31:36 +09:00
Yuichi Nishiwaki f96579805c reserve square brackets 2015-01-26 12:29:29 +09:00
Yuichi Nishiwaki 1e8f49872e s/pic_noreturn/PIC_NORETURN/g 2015-01-26 12:22:38 +09:00
Yuichi Nishiwaki d390fc44ca add PIC_INLINE macro 2015-01-26 12:20:32 +09:00
Yuichi Nishiwaki 6bdfac4ec0 don't declare variables in middle of block 2015-01-26 11:42:24 +09:00
Yuichi Nishiwaki f7d506cd35 xvect.h is now based on kvec.h 2015-01-25 20:44:36 +09:00
Yuichi Nishiwaki 9af074d803 remove trailing commas 2015-01-25 20:44:36 +09:00
Yuichi Nishiwaki 499b68c835 change pic_dict_for_each interface 2015-01-25 20:44:35 +09:00
Yuichi Nishiwaki e3833eb039 change pic_for_each interface 2015-01-25 20:44:35 +09:00
Yuichi Nishiwaki 1b637d1763 refactor pic_deflibrary macro. don't declare variables in for statements 2015-01-25 20:44:35 +09:00
Sunrin SHIMURA (keen) 6ee0fd2852 change error message according to discussion 2015-01-25 06:37:09 +00:00
Yuichi Nishiwaki 1417513805 remove trailing comma 2015-01-22 17:34:23 +09:00
Yuichi Nishiwaki 3d1098967c use pic_alloc/pic_free in initializing struct pic_reader 2015-01-22 17:18:38 +09:00
Yuichi Nishiwaki 42cc5042f3 use pic_alloc/pic_free in initializing struct pic_heap 2015-01-22 17:08:41 +09:00
Yuichi Nishiwaki 8c67ad863b stop using trie tree-based reader table 2015-01-22 16:53:11 +09:00
Yuichi Nishiwaki 1ff8672a11 add PIC_SYMS_SIZE constant 2015-01-21 21:59:50 +09:00
Sunrin SHIMURA (keen) 794ab892c5 show callee, expected argc and actual argc 2015-01-20 15:00:41 +00:00
Sunrin SHIMURA (keen) fd762b8edd improve erroro message for call-with-values 2015-01-20 14:57:59 +00:00
Sunrin SHIMURA (keen) f783640240 improve error message for arith op 2015-01-20 14:57:59 +00:00
Yuichi Nishiwaki 06c998e0b2 add symbol gc 2015-01-20 17:50:31 +09:00
Yuichi Nishiwaki 129bae29f2 Merge pull request #245 from picrin-scheme/heap-symbol
Let symbols to be allocated in heap
2015-01-20 17:42:01 +09:00
Yuichi Nishiwaki 1270787344 [bugfix] build failure in debug mode 2015-01-20 16:02:44 +09:00
Yuichi Nishiwaki 6e6e1de7a5 pic_sym is not a pointer 2015-01-20 16:02:28 +09:00
Yuichi Nishiwaki 2d1ddb9a5a s/pic_sym/pic_sym_ptr/g 2015-01-20 15:31:17 +09:00
Yuichi Nishiwaki c5f711ddd6 [bugfix] irep->name is missed to mark 2015-01-20 02:51:51 +09:00
Yuichi Nishiwaki 914242a531 [bugfix] wrong type specified for cxt->syms 2015-01-20 02:51:10 +09:00
Sunrin SHIMURA (keen) 6dbf52812d better error messages against invalid use of auxiliary syntax 2015-01-19 06:02:39 +00:00
Yuichi Nishiwaki 7964c4f5bb mark only interned symbols and some specisl uninterned symbols 2015-01-19 14:41:27 +09:00
Yuichi Nishiwaki b9df96499d move symbol constants to pic_state 2015-01-19 14:37:47 +09:00
Yuichi Nishiwaki 772a5ceae5 [bugfix] pic_intern must count up reference of the return value 2015-01-19 14:37:47 +09:00
Yuichi Nishiwaki 44ff702e60 rename internal object 2015-01-19 14:37:46 +09:00
Yuichi Nishiwaki ffa27e4b11 s/SYMBOL_P/SYMBOLP/g, s/PAIR_P/PAIRP/g 2015-01-19 14:37:46 +09:00
Yuichi Nishiwaki ce3cf1741d improve error message 2015-01-19 14:37:46 +09:00
Yuichi Nishiwaki 3b3032ee55 don't malloc in pic_interned_p 2015-01-19 13:12:04 +09:00
Yuichi Nishiwaki ca69048513 turn on GC 2015-01-19 12:14:46 +09:00
Yuichi Nishiwaki ccc7a2beed add gc on/off flag 2015-01-19 12:14:29 +09:00
Yuichi Nishiwaki 3fc49b59be move symbol-related macros to symbol.h 2015-01-19 11:11:19 +09:00
Yuichi Nishiwaki fa1b681eba remove pic_sym_value 2015-01-19 11:08:27 +09:00
Yuichi Nishiwaki f349e4148e remove pic_symbol_value 2015-01-19 11:02:22 +09:00
Yuichi Nishiwaki fc654dd280 heap symbol seems working (with GC stopped) 2015-01-19 11:00:23 +09:00
Yuichi Nishiwaki 4be979b1df change pic_intern interface 2015-01-19 02:21:10 +09:00
Yuichi Nishiwaki 09cb576a3b remove pic_ungensym 2015-01-19 01:55:39 +09:00
Yuichi Nishiwaki 1b510e982e add irep->syms 2015-01-19 01:29:00 +09:00
Yuichi Nishiwaki cabae2767b use dictionary for senv->map 2015-01-18 21:58:40 +09:00
Yuichi Nishiwaki c1bba1ec83 use dictionaries for temporary import table 2015-01-18 21:55:17 +09:00
Yuichi Nishiwaki 14a93ccf0f use dictionary for rec->data 2015-01-18 21:40:14 +09:00
Yuichi Nishiwaki c86e97094d use dictionary for lib->exports 2015-01-18 21:35:57 +09:00
Yuichi Nishiwaki 9209722a5b use dictionaries for pic->globals and pic->macros 2015-01-18 21:25:34 +09:00
Yuichi Nishiwaki a3db19c1bf remove 'struct pic_macro'. define-syntax spec is changed. 2015-01-18 15:49:28 +09:00
Yuichi Nishiwaki f2eb51e53d some procedures are moved to contrib/
system related procedures are moved to contrib/

file related procedures are moved to contrib/

load related procedures are moved to conrib/
2015-01-18 01:03:29 +09:00
Yuichi Nishiwaki 4cc423d815 gather all includes of standard headers into picrin.h 2015-01-18 00:17:37 +09:00
Yuichi Nishiwaki cbed7c4ba5 add dictionary-map and dictionary-for-each 2015-01-17 23:26:35 +09:00
Yuichi Nishiwaki 6968c85282 revert 48f0ec90. dicitonary is now symbol-to-object structure 2015-01-17 21:03:08 +09:00
Yuichi Nishiwaki 3e9da6d3e3 [prepare] dictionary is to be changed to have only symbols for its keys 2015-01-17 21:01:13 +09:00
Yuichi Nishiwaki 2652d9724d Merge commit '536d59c7d4799208aed63309556d86bb92521470' 2015-01-17 18:36:23 +09:00
Yuichi Nishiwaki 506595a559 Merge pull request #233 from KeenS/restore-config
restore tuned config
2015-01-12 20:56:19 +09:00
Sunrin SHIMURA (keen) 51acf8ac54 optimize `equal?`. Don't initialize xhash until it is really needed.
`make test-r7rs` gets 12s -> 9.5s, in which `equal?` is heavilly used.
2015-01-12 11:40:33 +00:00
Yuichi Nishiwaki 9303fcf34b safer names for utility macros 2015-01-07 13:11:48 -08:00
Sunrin SHIMURA (keen) 6f1b54f4f3 Merge commit '2440372c16fd1e479ad8aa346f6006dbf795a74c' into restore-config 2015-01-04 04:59:42 +00:00
Sunrin SHIMURA (keen) 814425508f Add 'extlib/benz/' from commit '569b1ace02e6a066b21f94dff23c4e01b8748bf0'
git-subtree-dir: extlib/benz
git-subtree-mainline: 3c3d9f4c27
git-subtree-split: 569b1ace02
2015-01-03 06:31:37 +00:00
Sunrin SHIMURA (keen) 3c3d9f4c27 rm benz subtree 2015-01-03 06:31:15 +00:00
Sunrim KIM (keen) 221f3bdebd add regression test against benz/#55 2014-11-09 17:09:06 +09:00
Sunrim KIM (keen) 7c9d12769e Revert "update betz (to implement pickle) and add its test"
This reverts commit ae450b95b9.
2014-10-29 17:34:12 +09:00
Sunrim KIM (keen) ae450b95b9 update betz (to implement pickle) and add its test 2014-10-04 06:00:03 +09:00
Yuichi Nishiwaki fc873c5559 update benz (suppress more warnings) 2014-09-27 08:30:57 -07:00
Yuichi Nishiwaki c4c87abe1a update benz (remove type-punning) 2014-09-27 08:20:56 -07:00
Yuichi Nishiwaki b7fca32f61 update benz (improve compliance) 2014-09-27 21:32:10 +09:00
Yuichi Nishiwaki 7fddb356d3 update benz 2014-09-26 16:34:49 +09:00
Yuichi Nishiwaki 9d694ac5ae generalized attribute 2014-09-25 19:12:56 +09:00
Yuichi Nishiwaki cc45ffadc3 update benz. pic_try was broken 2014-09-24 20:39:22 +09:00