Commit Graph

645 Commits

Author SHA1 Message Date
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
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