Commit Graph

3500 Commits

Author SHA1 Message Date
Calvin Rose a2f3fa3b3d Work on deserialization for loading bytecode and
other objects.
2017-03-19 12:16:40 -04:00
Calvin Rose 9856142fef Refactor code. Separate code into different modules to
separate the minimum runtime from auxiliary functions.
Change makefile to allow building static libraries.
2017-03-15 20:56:37 -04:00
Calvin Rose 91f2766dd0 Rename binary 2017-03-15 01:27:56 -04:00
Calvin Rose ba82ba414a Retabbed things 2017-03-15 01:26:45 -04:00
Calvin Rose 9f09a19feb Add quoting and a global gc root. The gc root
provides global variables.
2017-03-14 19:13:17 -04:00
Calvin Rose 84b7e96921 Work on more fixes to calling convention 2017-03-14 15:55:50 -04:00
Calvin Rose 3274e87a45 Work on simplifying calling procedure 2017-03-12 18:23:27 -04:00
Calvin Rose 15dd15278c Ignore tags file 2017-03-11 17:06:47 -05:00
Calvin Rose 1611a9eeb4 Remove tags 2017-03-11 17:06:22 -05:00
Calvin Rose 4191b86895 Remove thread.c 2017-03-11 17:05:59 -05:00
Calvin Rose 1effd9e740 More work on open hashing implementation of objects.
Add metatable support for callable objects.
2017-03-11 17:04:59 -05:00
Calvin Rose 9c94bfab4d Retab value.c 2017-03-10 00:26:28 -05:00
Calvin Rose ce759d901e Keep readme minimal for now 2017-03-10 00:23:59 -05:00
Calvin Rose 18493ea076 Retab some files, delete some other files 2017-03-10 00:22:43 -05:00
Calvin Rose b986e1b967 Redo calling convetion for more code reuse. Allow calling gst functions from c. 2017-03-10 00:09:42 -05:00
Calvin Rose 169e3de5a7 Work on basic stl. Add _ binding to repl for last value 2017-03-09 13:49:46 -05:00
Calvin Rose ca0f8939ef Begin stl 2017-03-08 17:34:25 -05:00
Calvin Rose 18aaf9480b Add initial untested support for varargs in vm 2017-03-08 16:03:14 -05:00
Calvin Rose 69624495ec Remove longjump/setjump from vm loop. Add out of memory
behavior option.
2017-03-08 15:08:46 -05:00
Calvin Rose 68f834f03b Remove dsiasm from binary. 2017-03-08 10:54:50 -05:00
Calvin Rose 1e8c1bb74c Handle comments in parser. 2017-03-08 10:34:22 -05:00
Calvin Rose 40b52dbe70 Add variadic arithmetic special forms 2017-03-08 10:21:09 -05:00
Calvin Rose 0d066d8754 Add tuple type. 2017-03-07 15:29:40 -05:00
Calvin Rose 7cdf33eb90 Modify some files. Also begin open addressing hash
dictionary for use in compiler. Might also move normal
object to open addressing for less pressure on gc.
2017-02-28 20:20:29 -05:00
Calvin Rose 08319e62cb Fix issue with throwing uncaught errors. 2017-02-26 22:23:08 -05:00
Calvin Rose 33d09f98b1 Work on speeding up interpreter by moving state inside
interpreter loop.
2017-02-26 11:47:50 -05:00
Calvin Rose fd34837265 Breaking up functionality into more modules. 2017-02-23 17:21:13 -05:00
Calvin Rose 5ec6e46f1a Add error handling and try catch expression. 2017-02-22 18:19:46 -05:00
Calvin Rose 6521ee69bd Various small changes. 2017-02-19 11:20:18 -05:00
Calvin Rose 69260fa3bd Fix some gc mark issues and change dict to obj. 2017-02-16 15:10:59 -05:00
Calvin Rose 6677dff337 Rename everything to be prefixed with gst. No particluar meaning
or reason for that name, but its available and it irked me to see
non prefixed c code for something that is supposed to be emeddable.
2017-02-15 21:02:00 -05:00
Calvin Rose 8cdc0610e3 Reintroduce a separate Thread objects for threads instead of using arrays. 2017-02-14 20:45:34 -05:00
Calvin Rose d28a7174af Finish removing FORM type as well as symbol type. 2017-02-13 18:58:56 -05:00
Calvin Rose 9cbe36cb01 Remove FuncEnv and FuncDef types as implementation details 2017-02-13 16:48:11 -05:00
Calvin Rose 42ecaf301a Remove ValuePrint. Improve ValueToString for reference types. 2017-02-13 00:11:30 -05:00
Calvin Rose 37faac1f8a Fix read after free bug with GC sweep. 2017-02-12 23:45:52 -05:00
Calvin Rose c64282f8bf Still searching for the bug, which seems to have to do
an Array created in the copmile phase being freed early.
2017-02-12 22:25:17 -05:00
Calvin Rose 439650f26a Add get and set instructions. GC is still buggy and currently
crashes everything all the time. :(
2017-02-12 21:54:18 -05:00
Calvin Rose f2d6b979f0 Merge branch 'master' of git+ssh://eng-grid.bu.edu/home/calsrose/code/interp 2017-02-12 15:55:45 -05:00
Calvin Rose 4a15052d38 . 2017-02-12 15:53:52 -05:00
Calvin Rose fccc7f25b5 Make some changes and begin work on macros. 2017-02-12 15:20:41 -05:00
Calvin Rose 47d9aceb0a Fix return bug that caused problems with
resetting the pc.
2017-02-12 10:49:45 -05:00
Calvin Rose b9a9a9303c Several changes to VM and Compiler. Still WIP
and non functional.
2017-02-12 10:27:18 -05:00
Calvin Rose 9ffbdcb3e9 Add simple disassembler for debugging. Does not use labels. 2017-02-11 14:02:48 -05:00
Calvin Rose 3794ec3acd More work on compiler.
* Fix up while special form
* Change Value functions to pass-by-value
2017-02-09 23:28:11 -05:00
Calvin Rose 0557c8b2a6 Consolidate files
* Move GC struct into VM for easier use.
* Put all data structures into one file
2017-02-09 18:52:19 -05:00
Calvin Rose 715c239fc1 Fix 'if' special form. 2017-02-09 17:12:01 -05:00
Calvin Rose 3d7e574e05 Fix some memory leaks and buffer overrun bugs after profiling
debugRepl with valgrind.
2017-02-09 15:58:19 -05:00
Calvin Rose 7bc5233a7d Remove YCM completion files. 2017-02-09 15:03:52 -05:00
Calvin Rose a80dd4bff3 First commit. 2017-02-09 15:02:59 -05:00