Commit Graph

682 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 317369a914 don't include picrin/state.h by default 2016-02-21 00:30:40 +09:00
Yuichi Nishiwaki 10aae770c9 refactor pic_try/catch 2016-02-20 23:55:40 +09:00
Yuichi Nishiwaki 4751131b4f rename PIC_GC_MARK and PIC_GC_UNMARK 2016-02-20 23:02:49 +09:00
Yuichi Nishiwaki 9e5f846787 make pic_get_args more useful 2016-02-20 21:16:10 +09:00
Yuichi Nishiwaki b5a27437e3 cleanup 2016-02-20 20:14:40 +09:00
Yuichi Nishiwaki d0dc577810 move typedefs 2016-02-20 19:10:51 +09:00
Yuichi Nishiwaki cafc7c88ea add pic_exit_point 2016-02-20 19:08:07 +09:00
Yuichi Nishiwaki 4affb1c1ce remove type.h and cont.h 2016-02-20 19:00:41 +09:00
Yuichi Nishiwaki fcb3182e08 publish xfile API 2016-02-20 18:34:13 +09:00
Yuichi Nishiwaki d3b188e44d cleanup file.h 2016-02-20 18:07:15 +09:00
Yuichi Nishiwaki 73f2578648 struct pic_record * -> pic_value 2016-02-20 17:27:13 +09:00
Yuichi Nishiwaki da30be167b struct pic_error * -> pic_value 2016-02-20 16:59:05 +09:00
Yuichi Nishiwaki d851273f60 struct pic_port * -> pic_value 2016-02-20 16:51:24 +09:00
Yuichi Nishiwaki 215e159598 struct pic_env * -> pic_value 2016-02-20 16:33:51 +09:00
Yuichi Nishiwaki 45879deafd move the definiton of pic_checkpoint to object.h 2016-02-20 16:12:21 +09:00
Yuichi Nishiwaki d91ec28474 cosmetic change 2016-02-20 16:02:34 +09:00
Yuichi Nishiwaki 0f1c47c421 s/identifier-variable/identifier-base/g 2016-02-20 16:00:37 +09:00
Yuichi Nishiwaki fc37af43b5 pic_id * -> pic_value 2016-02-20 15:59:06 +09:00
Yuichi Nishiwaki c57655c7ac don't use pic_false_p if possible 2016-02-20 15:34:49 +09:00
Yuichi Nishiwaki f4efaf5dc0 pic_sym * -> pic_value 2016-02-20 15:31:14 +09:00
Yuichi Nishiwaki 1a316a7a69 change irep of symbol and identifier 2016-02-20 05:18:13 +09:00
Yuichi Nishiwaki ef26a75d45 struct pic_weak * -> pic_value 2016-02-20 04:35:15 +09:00
Yuichi Nishiwaki 2d5fbc889e struct pic_string * -> pic_value 2016-02-20 03:26:52 +09:00
Yuichi Nishiwaki 5254e80932 struct pic_proc * -> pic_value 2016-02-20 00:03:16 +09:00
Yuichi Nishiwaki 0d8a45191a struct pic_data * -> pic_value 2016-02-19 23:30:47 +09:00
Yuichi Nishiwaki 064eaff498 struct pic_blob * -> pic_value 2016-02-19 23:22:41 +09:00
Yuichi Nishiwaki 1e08a7f21a struct pic_pair * -> pic_value 2016-02-19 22:09:06 +09:00
Yuichi Nishiwaki 25e19d4f00 struct pic_vector * -> pic_value 2016-02-19 21:56:45 +09:00
Yuichi Nishiwaki 3e4a4755dc struct pic_dict * -> pic_value 2016-02-19 19:08:45 +09:00
Yuichi Nishiwaki 03fed95b32 don't allocate on continuation call 2016-02-19 18:04:38 +09:00
Yuichi Nishiwaki b070d9c1dc add pic_return 2016-02-19 17:38:49 +09:00
Yuichi Nishiwaki d965a3da5a remove macro.h 2016-02-19 16:58:39 +09:00
Yuichi Nishiwaki 935199ea5e reader uses xFILE* directly 2016-02-19 16:51:45 +09:00
Yuichi Nishiwaki 4d38e08c98 pic_gc_arena_preserve -> pic_enter 2016-02-19 16:17:13 +09:00
Yuichi Nishiwaki f0386657be cosmetic changes 2016-02-19 16:15:09 +09:00
Yuichi Nishiwaki fe54b1315b pic_obj_alloc is not a public api 2016-02-19 13:58:45 +09:00
Yuichi Nishiwaki 5402611323 remove port.h 2016-02-19 05:58:34 +09:00
Yuichi Nishiwaki 84c2866b2b cleanup port API 2016-02-19 05:54:50 +09:00
Yuichi Nishiwaki 8ec052c09f reimplement string-io procedures in scheme 2016-02-19 03:58:09 +09:00
Yuichi Nishiwaki ec9c0e8841 [bugfix] rope_at 2016-02-19 03:57:15 +09:00
Yuichi Nishiwaki bb2f9c0367 don't distinguish textual and binary ports 2016-02-19 03:03:29 +09:00
Yuichi Nishiwaki 00e98548d7 remove pair.h 2016-02-19 02:29:40 +09:00
Yuichi Nishiwaki 9ae6f0cbe9 remove error.h 2016-02-19 01:34:13 +09:00
Yuichi Nishiwaki 3198e77ac1 remove symbol.h 2016-02-19 01:05:50 +09:00
Yuichi Nishiwaki 665eda1d92 remove record.h 2016-02-19 00:59:45 +09:00
Yuichi Nishiwaki 18b873f723 remove proc.h 2016-02-19 00:56:56 +09:00
Yuichi Nishiwaki 8979b65b0c remove data.h 2016-02-19 00:50:13 +09:00
Yuichi Nishiwaki 0243c52b14 remove dict.h 2016-02-19 00:40:35 +09:00
Yuichi Nishiwaki 387ba469c8 add pic_dict_next 2016-02-19 00:39:13 +09:00
Yuichi Nishiwaki aa2121b61c remove blob.h 2016-02-19 00:20:15 +09:00
Yuichi Nishiwaki cfc32a1b15 remove string.h 2016-02-19 00:14:50 +09:00
Yuichi Nishiwaki 645e5bee3a remove vector.h 2016-02-19 00:08:39 +09:00
Yuichi Nishiwaki 3dd8290dd3 add picrin/object.h 2016-02-19 00:03:54 +09:00
Yuichi Nishiwaki 0a715e4916 use pic_blob_value 2016-02-18 23:59:33 +09:00
Yuichi Nishiwaki 126989e4ec cleanup 2016-02-18 23:52:20 +09:00
Yuichi Nishiwaki ada84f48d6 add some object constructors/destructors 2016-02-18 23:49:16 +09:00
Yuichi Nishiwaki 08652df612 don't include type.h at the beginning of picrin.h 2016-02-18 23:35:55 +09:00
Yuichi Nishiwaki 615bdff61a add pic_state parameter (to be used by copy gc) 2016-02-18 20:15:42 +09:00
Yuichi Nishiwaki a3f9a3be68 remove WORD_BOXING mode 2016-02-18 18:58:32 +09:00
Yuichi Nishiwaki 561c350a12 library is now a non-first-class object 2016-02-18 17:39:32 +09:00
Yuichi Nishiwaki 7816be80c1 pic_lookup_identifier -> pic_find_identifier 2016-02-18 16:38:59 +09:00
Yuichi Nishiwaki 8610f5090d change the behavior of pic_deflibrary
fix regression
2016-02-15 13:28:13 +09:00
Yuichi Nishiwaki 294477ff13 kh_s_t -> kh_oblist_t 2016-02-15 13:00:57 +09:00
Yuichi Nishiwaki d30cdf7409 add picrin/setup.h and picrin/state.h 2016-02-15 00:50:02 +09:00
Yuichi Nishiwaki 4a3104187e cosmetic changes 2016-02-15 00:33:59 +09:00
Yuichi Nishiwaki a92e70a610 remove typedefs of struct pic_string and struct pic_blob 2016-02-15 00:20:49 +09:00
Yuichi Nishiwaki 780df6275b move more decls to picrin.h 2016-02-15 00:10:12 +09:00
Yuichi Nishiwaki f70dd4d376 add pic_closure_ref, pic_closure_set, and pic_lambda 2016-02-14 22:23:14 +09:00
Yuichi Nishiwaki 8814469eac pic_apply_trampoline -> pic_applyk 2016-02-14 17:14:33 +09:00
Yuichi Nishiwaki 2632956b6e fix regression 2016-02-14 17:13:38 +09:00
Yuichi Nishiwaki e8a6f64dd5 remove pic_applyk 2016-02-14 13:46:55 +09:00
Yuichi Nishiwaki 69b660e9a3 remove pic_funcallk and add pic_call 2016-02-14 13:33:15 +09:00
Yuichi Nishiwaki 417a44b786 change the behavior of pic_define 2016-02-14 13:25:18 +09:00
Yuichi Nishiwaki 549d939ce6 add pic_alloca 2016-02-14 13:19:54 +09:00
Yuichi Nishiwaki 5946c3ab39 pic_gc_run -> pic_gc 2016-02-14 13:17:12 +09:00
Yuichi Nishiwaki dc80bc5850 cleanup picrin.h 2016-02-14 13:15:33 +09:00
Yuichi Nishiwaki 8a80f3805e update copyright 2016-02-14 13:06:54 +09:00
Yuichi Nishiwaki 271a4b6586 make-register -> make-ephemeron 2016-02-10 21:57:20 +09:00
Yuichi Nishiwaki b577b2d453 reg -> weak 2016-02-10 21:50:39 +09:00
Yuichi Nishiwaki 7b86c6d34e intern table seems conventionally called 'oblist' 2016-02-10 21:31:22 +09:00
Yuichi Nishiwaki 205ca79626 remove pic->argc/argv/envp 2016-02-10 01:38:05 +09:00
Yuichi Nishiwaki 3bc55b8b62 unwrap union fields 2016-02-08 13:51:41 +09:00
Yuichi Nishiwaki c7f8293368 add pic_intern_(str|cstr|lit) 2016-02-08 04:10:22 +09:00
Yuichi Nishiwaki fd248d31bd optimize symbol->string 2016-02-08 03:36:20 +09:00
Yuichi Nishiwaki 3e4abf8949 optimize string construction from literal 2016-02-08 02:33:22 +09:00
Yuichi Nishiwaki 0d8d7d5b91 remove xformat family 2016-02-08 01:32:13 +09:00
Yuichi Nishiwaki 267cfb0a02 optimize pic_chunk 2016-02-08 01:17:33 +09:00
Yuichi Nishiwaki f263e9432e remove gref slot 2016-02-07 22:17:56 +09:00
Yuichi Nishiwaki e076a8f4e0 datas are equal? when they refer to the same pointer 2016-02-07 05:18:09 +09:00
Yuichi Nishiwaki ed14348c08 bugfixes 2016-02-07 04:54:55 +09:00
Yuichi Nishiwaki 7a128aab3b fix #314 2016-02-07 04:23:46 +09:00
Yuichi Nishiwaki cc75877a76 simplify struct pic_record 2016-02-07 02:58:18 +09:00
Yuichi Nishiwaki 18d23e4908 reg.c -> weak.c 2016-02-07 01:13:12 +09:00
Yuichi Nishiwaki fe994667fa remove pic_get_proc and add "&" format for pic_get_args 2016-02-07 00:53:12 +09:00
Yuichi Nishiwaki 32f015765d move the vm to proc.c 2016-02-07 00:09:40 +09:00
Yuichi Nishiwaki 2c09114cf3 move the expander to macro.c 2016-02-07 00:07:29 +09:00
Yuichi Nishiwaki de7fb0c4b2 codegen.c -> eval.c 2016-02-06 23:55:39 +09:00
Yuichi Nishiwaki e51d3db812 symbol is an identifier 2016-02-06 23:15:53 +09:00
Yuichi Nishiwaki 12f999d608 temporarily disable offset fields 2016-02-06 21:18:38 +09:00
Yuichi Nishiwaki 497595a0f7 pool now only contains heap objects 2016-02-06 21:11:22 +09:00
Yuichi Nishiwaki 62cc05f978 add OP_PUSHFLOAT 2016-02-06 20:52:36 +09:00
Yuichi Nishiwaki 93105dc2a6 add OP_PUSHEOF 2016-02-06 20:43:21 +09:00
Yuichi Nishiwaki 5af1b44456 wrap irep fields with unions 2016-02-06 18:37:40 +09:00
Yuichi Nishiwaki 0fd529c968 change mangling rule for global variables 2016-02-06 04:07:37 +09:00
Yuichi Nishiwaki 1fbc38fe55 serializable code representation 2016-02-05 21:53:25 +09:00
Yuichi Nishiwaki 600a92835e add irep->ints 2016-02-05 21:41:20 +09:00
Yuichi Nishiwaki 0499b5ffb0 move pic_resolve to macro.c 2016-02-05 21:01:36 +09:00
Yuichi Nishiwaki e96465f724 remove pic_irep.ilen 2016-02-05 20:47:08 +09:00
Yuichi Nishiwaki 64788af4b9 manage ireps using reference count 2016-02-05 00:31:57 +09:00
Yuichi Nishiwaki 6488e315d3 kvec.h is not used 2016-02-04 17:48:25 +09:00
Yuichi Nishiwaki 337ba027f2 attribute as a macro 2016-02-03 21:49:55 +09:00
Yuichi Nishiwaki 0fe20178ae emit OP_PUSHUNDEF 2016-02-03 20:17:20 +09:00
Yuichi Nishiwaki 5637b3e435 unify emit_c and emit_i 2016-02-02 22:34:18 +09:00
Yuichi Nishiwaki 2aa9e956c4 Merge pull request #325 from dcurrie/data-space-optimization
Reduce size of data object by removing unused dict field
2016-01-31 17:19:02 +09:00
Doug Currie 0f3ef76fcb Fix cond to conform to R7RS 'If the selected ⟨clause⟩ contains only the ⟨test⟩ and no ⟨expression⟩s, then the value of the ⟨test⟩ is returned as the result.' 2016-01-23 16:14:11 -05:00
Doug Currie 6881ac6d4d Reduce size of data object by removing unused dict field 2016-01-15 23:44:07 -05:00
Doug Currie 33667788cb Fix c99 style comment 2016-01-10 15:05:35 -05:00
Doug Currie ad0ef726fc Fix issue #322 string->number should never signal error 2016-01-10 14:56:44 -05:00
Yuichi Nishiwaki edbd95d1bd fix indent 2016-01-09 23:29:36 +09:00
Doug Currie 3f7c5034d7 Fix some c99isms 2016-01-08 23:47:16 -05:00
Doug Currie bfe1db8d16 Add benz compile time hooks PIC_DOUBLE_TO_CSTRING and PIC_CSTRING_TO_DOUBLE 2016-01-08 23:06:14 -05:00
Doug Currie 4ef9394c0b Refactor xvfprintf to prepare for pluggable dtoa 2016-01-08 17:30:21 -05:00
Doug Currie be33d016e9 Refactor read_unsigned to prepare for pluggable atod 2016-01-08 15:55:00 -05:00
Doug Currie 8bcfc139f7 Merge upstream. 2015-12-29 11:26:55 -05:00
Yuichi Nishiwaki cce4933430 use simplest version of error checking 2015-12-30 01:01:12 +09:00
Doug Currie 9fb7676b37 Convert tabs to spaces in string.c 2015-12-30 00:57:14 +09:00
Doug Currie 51ba443636 Check for valid indices in substring and string-copy. 2015-12-30 00:56:59 +09:00
Doug Currie 65429b4f10 Check for valid indices in substring and string-copy. 2015-12-27 23:47:29 -05:00
Doug Currie b585d89056 Fix for equal? bug #312 2015-12-27 21:27:26 -05:00
Doug Currie 17d731228a Use pic_eq_p to compare pic_values; move reverse lookup out of khash.h 2015-12-27 10:11:47 -05:00
Doug Currie 6e879dbe87 Better error reporting for uninitialized global. 2015-12-26 22:19:05 -05:00
Sunrin SHIMURA (keen) df1a7b5fd5 add irritant to read error, fixing #310 2015-10-06 14:04:48 +09:00
Sunrin SHIMURA (keen) 5691739272 pic_errof requires pic_value 2015-10-02 13:49:32 +09:00
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