Commit Graph

3499 Commits

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