Commit Graph

344 Commits

Author SHA1 Message Date
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 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 4905aab416 remove pic->file and pic->read 2015-07-02 08:50:28 +09:00
Yuichi Nishiwaki f9df81f046 remove unused symbols 2015-07-02 05:36:09 +09:00
Yuichi Nishiwaki 0a0c94fb91 perform tail position analysis on the fly at codegen 2015-07-02 04:23:07 +09:00
Yuichi Nishiwaki 6d2966e946 don't cons in pic_valuesN 2015-06-30 01:19:04 +09:00
Yuichi Nishiwaki ddcf96f689 remove pic_proc_name (for a moment) 2015-06-27 19:02:18 +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 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 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 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 5cf1822813 use khash for dictionary impl 2015-06-25 05:56:15 +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 e730a314f4 [bugfix] memory leak of pic_checkpoint 2015-06-22 17:12:19 +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 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 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 eef74604d0 add library operators 2015-06-16 22:51:05 +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 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 181d120f09 reader support of (#' #` #, #,@) 2015-06-15 02:52:37 +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
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 191d3067f8 Revert "Revert "remove in-library""
This reverts commit 77d3b0b41e.
2015-06-09 23:02:06 +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
Yuichi Nishiwaki 30cbdd5c4f cleanup macro.h 2015-06-09 20:20:56 +09:00
Yuichi Nishiwaki 6af60c9e2b don't use static non-const local variable 2015-06-09 19:19:27 +09:00
Yuichi Nishiwaki b983c77767 use registries for parameter table 2015-06-09 18:36:39 +09:00
Yuichi Nishiwaki 111779c39e add pic_reg 2015-06-09 18:31:46 +09:00
Yuichi Nishiwaki 5185a73cd2 replace none with undef 2015-06-09 16:34:45 +09:00
Yuichi Nishiwaki 2c9a19acf5 introduce pic_invalid_value 2015-06-09 16:02:23 +09:00
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 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 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
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 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 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 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 b9dde91123 allow custom setjmp/longjmp 2015-05-28 00:41:55 +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 15449354c6 switch string implementation to picrin's 2015-05-27 23:34:40 +09:00
Yuichi Nishiwaki 81be1b9e3e define pic_dump_irep only if DEBUG is defined 2015-05-27 22:10:51 +09:00
Syohei YOSHIDA 919675670f Correct cast type 2015-05-22 14:59:01 +09:00
Sunrin SHIMURA (keen) 8a7f61bf01 use correct vars 2015-02-01 12:25:48 +00:00
Yuichi Nishiwaki 154d987294 don't use C99's designated initializer 2015-01-28 00:46:51 +09:00
Yuichi Nishiwaki 32d6760d4f portable xprintf implementation 2015-01-28 00:28:54 +09:00
Yuichi Nishiwaki 914c295177 don't use variable length array 2015-01-27 13:54:41 +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 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
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
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 b9df96499d move symbol constants to pic_state 2015-01-19 14:37:47 +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 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 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 6968c85282 revert 48f0ec90. dicitonary is now symbol-to-object structure 2015-01-17 21:03:08 +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
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