Commit Graph
153 Commits
Author SHA1 Message Date
Calvin Rose d84cc5342e Fix write after free bug.
Remove caching from strings, tuples, and structs.
Keyword style strings removed, now are just symbols. The
compiler can decide to treat symbols with a leading ':'
differently for mostly the same effect. This was done because
as strings are no longer interned, symbols are cheaper to look
up and check for equality.
2017-11-27 14:03:34 -05:00
bakpakin baa4e20b79 Some more changes to the nanbox_test 2017-11-26 20:20:30 -05:00
bakpakin 68f5ea4361 Add test nanbox implementation. Works for 32 bit and 64 bit x86 2017-11-26 19:31:40 -05:00
bakpakin 6ca6949c2d Getting more work done on assembler, parer, and unit tests. 2017-11-20 21:39:44 -05:00
bakpakin 9a858d5a97 Adding some more unit tests for various components. 2017-11-06 09:44:10 -05:00
bakpakin f6dcb07c8d More work. Too many changes to be listed. 2017-11-05 22:05:47 -05:00
bakpakin a2ee028bd5 WIP 2017-11-01 17:53:43 -04:00
bakpakin 3efd400025 Huge number of changes. Still WIP. Refactoring and
changing C API model. This commit is not i a working state.
2017-09-09 14:39:51 -04:00
bakpakin 9187d4c1e2 Create xxd clone for build time gst scripts. 2017-07-15 23:25:10 -04:00
bakpakin f0545865a8 More corrections to varargs. 2017-07-15 12:41:54 -04:00
bakpakin 57886db410 Making some changes. 2017-07-15 12:21:06 -04:00
bakpakin 8c20b7229a Refactor module and env code into separate files. 2017-07-12 14:47:09 -04:00
bakpakin 70efcc336b Move some string functions to a new file. 2017-07-03 13:44:58 -04:00
bakpakin 961275116f Add symbol function 2017-07-03 11:22:23 -04:00
bakpakin 31ec1e9147 Add install and uninstall make targets. 2017-07-02 14:56:31 -04:00
bakpakin 7a9e991c41 Add color options to repl. 2017-07-02 14:42:30 -04:00
bakpakin 4a131fe47e Add some command line options to the client program. 2017-07-01 22:34:31 -04:00
Calvin Rose 21bd960865 Add more tests
Reuse threads on gst_run when possible
change name of getline to gst_getline
2017-06-29 21:57:09 -04:00
Calvin Rose 092fd68935 Remove -Wpedantic 2017-06-25 19:53:55 -04:00
Calvin Rose b23fc136dd Remove readline and add travis 2017-06-25 19:49:07 -04:00
Calvin Rose c3d65cb91d Remove lots of headers. Add parse c function. 2017-06-24 14:27:29 -04:00
Calvin Rose 70478a410b Add errorParent to threads. 2017-06-19 23:01:34 -04:00
Calvin Rose 6246c43e22 Fix integer division by 0 error. 2017-05-08 12:08:48 -04:00
Calvin Rose 7b83247c07 Add vararg support to compiler. Seems to be leak in parser. 2017-05-06 17:46:28 -04:00
Calvin Rose d47ee18b1a Fix gc mark function in compiler.
GNU readline is not valgrind clean or it
is being used incorrectly.
2017-05-05 23:33:36 -04:00
Calvin Rose bf2c16ccb0 Flesh out support for userdata
Add file reading via file objects.
Finalizer option for userdata.
2017-04-26 10:22:16 -04:00
Calvin Rose 5845434529 Add readline to repl for better experience 2017-04-19 12:56:29 -04:00
Calvin Rose baa3544ca0 Readd the repl. 2017-04-17 22:14:35 -04:00
Calvin Rose 6e71984fc5 Add wrapping functions for easy conversion between c api and
internal values.
2017-04-17 18:46:28 -04:00
Calvin Rose f52e290206 Allow parser to parse files rather than just a repl. I think
there are some memory leak issues (problems with gc).
2017-04-17 00:15:18 -04:00
Calvin Rose e90b66af58 Add struct type. 2017-04-15 16:05:59 -04:00
Calvin Rose e28e31f818 Begin implementing module system. 2017-04-12 21:21:46 -04:00
Calvin Rose 6365a007b6 More work on cleaning up string implementation. 2017-03-22 18:35:54 -04:00
Calvin Rose 841ee3696d Add cache for strings. 2017-03-22 00:27:18 -04:00
Calvin Rose f6e26d9893 Work on serialization. Move clibs into core. 2017-03-20 23:06:38 -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 3274e87a45 Work on simplifying calling procedure 2017-03-12 18:23:27 -04: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 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 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 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 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 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