bakpakin
e4735e14d2
More compiler bug fixes. Added some features and functions like varargs.
2018-01-03 21:36:10 -05:00
bakpakin
f273aa8b1b
Add vars, split up headers, remove fiber->ret, add comparators, etc.
2017-12-30 16:46:59 -05:00
bakpakin
34a83839f5
Add utf-8 compatibility in parser. Symbols can
...
be valid utf-8 strings
2017-12-20 23:03:34 -05:00
bakpakin
8eea6e2a70
minor changes.
2017-12-16 23:36:21 -05:00
bakpakin
01a95426b3
More work on compiler. Add compiler unit test that currently
...
segfaults alot. Added dst_disasm to reconstruct dsts assembly
from a funcdef.
2017-12-16 23:11:51 -05:00
bakpakin
2d781ef21b
Compiler is coming along. Work on Slot system and general compiler strategy.
2017-12-16 01:17:53 -05:00
bakpakin
1293d2e301
Initial rewrite of compiler
2017-12-14 19:33:45 -05:00
bakpakin
a2ee6ffe5c
New custom strtod implementation.
2017-12-08 15:57:02 -05:00
bakpakin
592e9495e4
Merge branch 'alpha' of https://github.com/bakpakin/gst into alpha
2017-12-03 12:52:36 -05:00
bakpakin
14fe30b411
Add preliminary source mapping to parser (always on)
2017-12-03 12:52:09 -05:00
Calvin Rose
114dda8294
Catch unitialized value valgrind error. Probably has no effect,
...
but fixed to shut up valgrind.
2017-11-29 15:33:27 -05:00
Calvin Rose
eceb6e5a77
More work on nanbox implementation.
2017-11-29 15:17:56 -05:00
Calvin Rose
b568a6bc88
WIP integrating nanbox support back into code.
2017-11-28 18:27:55 -05:00
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
68f5ea4361
Add test nanbox implementation. Works for 32 bit and 64 bit x86
2017-11-26 19:31:40 -05:00
bakpakin
412d40d09f
Work on interpreter. adding more opcodes and syscalls.
2017-11-24 23:17:04 -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
3ccd688438
Add gensym
2017-07-16 11:00:20 -04:00
bakpakin
a39a6fd97f
More work on bootstrapping code. Have working macro expansion.
2017-07-15 16:56:03 -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
6a8ec0c895
Add -env- to repl.
2017-07-09 16:44:45 -04:00
bakpakin
53cead0bab
Remove vm crash return and use error instead.
2017-07-09 16:15:44 -04:00
bakpakin
de9d7bcfdc
Update representation of an environment.
2017-07-09 16:10:47 -04:00
bakpakin
1878ece2af
Make compilation simpler.
2017-07-09 15:35:17 -04:00
bakpakin
8810c65f00
Remove old namespace functions from stl.
2017-07-09 15:14:18 -04:00
bakpakin
891c550980
Invert recursion guard to count down instead of up.
2017-07-09 13:31:30 -04:00
bakpakin
325059203d
Correct behavior on 32 bit architecture when hashing pointers.
2017-07-09 13:09:20 -04:00
bakpakin
eef8a42ae7
Remove tostring in favor of string.
2017-07-03 22:20:39 -04:00
bakpakin
eeeb660120
Can only enter pending threads.
2017-07-03 16:15:16 -04:00
bakpakin
70efcc336b
Move some string functions to a new file.
2017-07-03 13:44:58 -04:00
bakpakin
c4dd17a35e
Change some comments.
2017-07-03 13:22:39 -04:00
bakpakin
961275116f
Add symbol function
2017-07-03 11:22:23 -04:00
bakpakin
0cf278994d
Make coloring changes to the repl
2017-07-02 20:51:52 -04:00
bakpakin
bfadf6ff12
Remove scratch memory functionality.
2017-07-02 19:52:44 -04:00
bakpakin
113c6cd6ad
Add quoting with single quote
2017-07-02 17:35:38 -04:00
bakpakin
268bd5f954
Add keyword syntax for strings.
2017-07-02 17:24:33 -04:00
bakpakin
e2c78b36d0
Add symbol type.
2017-07-02 17:17:24 -04:00
bakpakin
db89a6c7ee
Add description, short-description, and tostring as
...
separate stringifiers that have slightly different semantics.
description is for debugging, short-description is also
for debugging but prints less, and tostring is for coercing to
a string (similar to description, but strings are not changed and
buffers return their contents as a string).
2017-07-02 14:16:37 -04:00
bakpakin
2742e3679d
Change name of debugp to description. Use it
...
the repl for easier inspection of structures.
2017-07-02 11:53:51 -04:00
bakpakin
3481ee5747
Whitespace
2017-07-01 21:51:16 -04:00
Calvin Rose
740367ec5c
Add # comments to parser
2017-07-01 12:47:57 -04:00
Calvin Rose
171c0ce49e
Allow yielding by transfering to nil
2017-07-01 11:25:13 -04:00
Calvin Rose
957a513fd6
More changes to threading model.
2017-07-01 11:17:29 -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