Commit Graph

349 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 2ef277d5bd add arena protection to the VM 2013-10-13 17:29:21 +09:00
Yuichi Nishiwaki 8b859d4dbc define stack operation macros POP and PUSH 2013-10-13 17:27:44 +09:00
Yuichi Nishiwaki f0541e0f6b arena doesn't have to be explicitly initialized 2013-10-13 17:26:17 +09:00
Yuichi Nishiwaki a6f561d66e change the type of argument pic_gc_protect accepts 2013-10-13 17:25:36 +09:00
Yuichi Nishiwaki ee985a31cd add GC arena 2013-10-13 17:02:29 +09:00
Yuichi Nishiwaki 012b387c89 change the semantics of pic_alloc/pic_free 2013-10-13 16:56:30 +09:00
Yuichi Nishiwaki a0556087f9 rename pic_gc_alloc to pic_obj_alloc 2013-10-13 16:55:07 +09:00
Yuichi Nishiwaki 1fb9ac5d03 let pic_proc be a first class object 2013-10-13 16:16:13 +09:00
Yuichi Nishiwaki d92bd71293 force alignment of headers 2013-10-13 16:02:08 +09:00
Yuichi Nishiwaki c250d3b07f use C malloc instead of pic_alloc 2013-10-13 16:01:40 +09:00
Yuichi Nishiwaki e3600a65c9 replace mock allocator with simple k&r malloc 2013-10-13 15:14:15 +09:00
Yuichi Nishiwaki 38858e7a11 replace big VM loop stuff with macros 2013-10-12 18:48:35 +09:00
Yuichi Nishiwaki 3eefa2669f depress compiler warnings 2013-10-12 18:46:41 +09:00
Yuichi Nishiwaki e4be084b0e skip whitespaces in lex 2013-10-12 18:46:11 +09:00
Yuichi Nishiwaki 4cceb73db6 support global variable 2013-10-12 14:40:55 +09:00
Yuichi Nishiwaki 69e927d7bc add pic_raise 2013-10-12 14:40:27 +09:00
Yuichi Nishiwaki b284973035 add #<undef> 2013-10-12 14:40:01 +09:00
Yuichi Nishiwaki 8d23ef666f cleanup 2013-10-12 13:06:02 +09:00
Yuichi Nishiwaki 5f90f49604 remove old VM test code 2013-10-12 13:01:48 +09:00
Yuichi Nishiwaki ee3442210c replace evaluator in repl to the VM 2013-10-12 12:55:05 +09:00
Yuichi Nishiwaki 65c9843d83 add VM codegen 2013-10-12 12:53:54 +09:00
Yuichi Nishiwaki b2fa560bc7 eval accepts int values 2013-10-12 12:48:30 +09:00
Yuichi Nishiwaki 2ee11a367f parse int values 2013-10-12 12:07:28 +09:00
Yuichi Nishiwaki 1a45eab148 store stack base and end 2013-10-12 00:20:53 +09:00
Yuichi Nishiwaki 643d8be66d first VM impl 2013-10-12 00:16:19 +09:00
Yuichi Nishiwaki 03fbd0bdb6 add fixnum 2013-10-12 00:15:46 +09:00
Yuichi Nishiwaki 6b0c1aa668 first eval commit 2013-10-11 17:36:51 +09:00
Yuichi Nishiwaki f5f1ac480b ignore files generated by yacc/lex 2013-10-11 15:21:55 +09:00
Yuichi Nishiwaki 25d84c1e8a parser echoing test in main repl 2013-10-11 15:20:53 +09:00
Yuichi Nishiwaki 8533d7b87f initial parser commit 2013-10-11 15:18:37 +09:00
Yuichi Nishiwaki 2a6978a3b9 fix bugs around compilation 2013-10-10 17:54:35 +09:00
Yuichi Nishiwaki bd4f3680ea do object create test before entering main 2013-10-10 17:48:37 +09:00
Yuichi Nishiwaki b640dc08e8 add pic_debug function 2013-10-10 17:48:01 +09:00
Yuichi Nishiwaki 0c382c2bdb add pic_intern_cstr 2013-10-10 17:22:25 +09:00
Yuichi Nishiwaki 0fad63f22a add nil stuff 2013-10-10 17:08:54 +09:00
Yuichi Nishiwaki 9038939bd1 add some pair functions 2013-10-10 17:06:26 +09:00
Yuichi Nishiwaki 177d2c7098 add pic_obj_value function 2013-10-10 17:05:58 +09:00
Yuichi Nishiwaki d21e6714b6 add make clean command 2013-10-10 16:45:23 +09:00
Yuichi Nishiwaki 97ba95e12f add our own malloc implementation (just a mock for now) 2013-10-10 16:44:51 +09:00
Yuichi Nishiwaki ebffe5a22e decide value representation 2013-10-10 16:34:24 +09:00
Yuichi Nishiwaki 68a7420ba4 remove argument name from prototype 2013-10-10 16:19:10 +09:00
Yuichi Nishiwaki bb4131799d add missing argument for calloc 2013-10-10 16:18:03 +09:00
Yuichi Nishiwaki 556d35db5b update Makefile 2013-10-10 16:16:26 +09:00
Yuichi Nishiwaki 25c9fef1d0 add pic_state structure 2013-10-10 16:15:41 +09:00
Yuichi Nishiwaki 9d33e0e079 warn line input overflow 2013-10-09 17:14:48 +09:00
Yuichi Nishiwaki 3d70907833 add gitignore 2013-10-09 17:12:16 +09:00
Yuichi Nishiwaki 71557746d0 add make stuff 2013-10-09 17:10:58 +09:00
Yuichi Nishiwaki 4cdd8e8b01 add simple repl (just echoing the input) 2013-10-09 17:10:32 +09:00
Yuichi Nishiwaki e1d1a11f00 initial commit 2013-10-09 16:58:35 +09:00