summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
cassowarii [Tue, 30 Jun 2026 14:28:53 +0000 (07:28 -0700)]
we can have negative numbers now
cassowarii [Tue, 30 Jun 2026 13:32:40 +0000 (06:32 -0700)]
fix a couple bytecode compiler bugs
cassowarii [Tue, 30 Jun 2026 05:08:56 +0000 (22:08 -0700)]
forward jumps! now if and while work
cassowarii [Tue, 30 Jun 2026 04:28:15 +0000 (21:28 -0700)]
we can actually run (very simple) programs! AMAZING
cassowarii [Tue, 30 Jun 2026 01:55:42 +0000 (18:55 -0700)]
janky beginnings of emitting bytecode
cassowarii [Mon, 29 Jun 2026 23:29:54 +0000 (16:29 -0700)]
better error reporting + a few variable scope fixes
cassowarii [Mon, 29 Jun 2026 19:20:37 +0000 (12:20 -0700)]
consolidate variable slots, track variable function scopes
cassowarii [Mon, 29 Jun 2026 17:48:45 +0000 (10:48 -0700)]
simple label jump optimization
cassowarii [Mon, 29 Jun 2026 15:50:29 +0000 (08:50 -0700)]
function definitions as chunks + function calls in IR
cassowarii [Mon, 29 Jun 2026 04:58:37 +0000 (21:58 -0700)]
update comments
cassowarii [Mon, 29 Jun 2026 04:55:17 +0000 (21:55 -0700)]
fix minor parser bug, IR can do multi-assignment now
cassowarii [Mon, 29 Jun 2026 04:25:41 +0000 (21:25 -0700)]
(janky) lexical variable scoping + assignment in IR
cassowarii [Mon, 29 Jun 2026 02:54:10 +0000 (19:54 -0700)]
Basic framework for IR code generation
cassowarii [Sun, 28 Jun 2026 19:13:23 +0000 (12:13 -0700)]
conditional jumps and such in VM
cassowarii [Sun, 28 Jun 2026 16:40:55 +0000 (09:40 -0700)]
very basic VM/bytecode functionality! it works! we can add numbers!
cassowarii [Sun, 28 Jun 2026 04:15:32 +0000 (21:15 -0700)]
some initial supports for bytecode VM
cassowarii [Sun, 28 Jun 2026 01:25:18 +0000 (18:25 -0700)]
clean up imports a bit
cassowarii [Sun, 28 Jun 2026 01:21:34 +0000 (18:21 -0700)]
actually the <~( ... ) should work like this
cassowarii [Sun, 28 Jun 2026 01:16:30 +0000 (18:16 -0700)]
<~ syntax was weird to parse, so use invisible () to clarify
cassowarii [Sun, 28 Jun 2026 00:34:06 +0000 (17:34 -0700)]
forgot about this syntax
this currently won't work on something like a.[b], because the layer-2
lexer doesn't know to put () there. i'm not sure if this syntax is a
good idea anyway though, it seems confusing
cassowarii [Sun, 28 Jun 2026 00:23:11 +0000 (17:23 -0700)]
i think this is all the basic syntax i had in mind
(except @declarations, but those are just syntax sugar, we'll come back
to those!)
cassowarii [Sat, 27 Jun 2026 21:34:09 +0000 (14:34 -0700)]
more parser stuff + much more friendly syntax error reporting
cassowarii [Sat, 27 Jun 2026 04:26:02 +0000 (21:26 -0700)]
basic parser, get that squared away
the error reporting could use some work
cassowarii [Fri, 26 Jun 2026 19:47:35 +0000 (12:47 -0700)]
expression parser mostly complete
cassowarii [Fri, 26 Jun 2026 16:10:20 +0000 (09:10 -0700)]
basic Pratt expression parser
cassowarii [Fri, 26 Jun 2026 05:07:18 +0000 (22:07 -0700)]
much more value things, symbol table, etc.
cassowarii [Thu, 25 Jun 2026 23:17:30 +0000 (16:17 -0700)]
hash table + symbol deduplication
cassowarii [Thu, 25 Jun 2026 16:41:27 +0000 (09:41 -0700)]
more string operations; fix bug with concatenation
cassowarii [Thu, 25 Jun 2026 06:05:44 +0000 (23:05 -0700)]
reference counting + copy on write semantics + more string ops
cassowarii [Wed, 24 Jun 2026 03:03:06 +0000 (20:03 -0700)]
fix a couple more bugs with string allocation
cassowarii [Wed, 24 Jun 2026 02:53:34 +0000 (19:53 -0700)]
fix bugs with tinystr, it works now!
cassowarii [Wed, 24 Jun 2026 02:41:35 +0000 (19:41 -0700)]
use hString to store string literal data; fix bugs
cassowarii [Wed, 24 Jun 2026 02:13:04 +0000 (19:13 -0700)]
tinystr: store short string data directly inside the handle itself
cassowarii [Wed, 24 Jun 2026 02:12:49 +0000 (19:12 -0700)]
remove unnecessary piece from makefile
cassowarii [Wed, 24 Jun 2026 01:22:15 +0000 (18:22 -0700)]
add string object storage (can't free yet)
cassowarii [Sun, 21 Jun 2026 17:21:39 +0000 (10:21 -0700)]
forgot to include this file!
cassowarii [Sun, 21 Jun 2026 17:18:19 +0000 (10:18 -0700)]
more sensible "next" for filereader / scanner
cassowarii [Sun, 21 Jun 2026 04:38:21 +0000 (21:38 -0700)]
dynamically sized token queue
cassowarii [Sat, 20 Jun 2026 22:04:55 +0000 (15:04 -0700)]
add this new ~> / <~ token which i have big plans for
cassowarii [Sat, 20 Jun 2026 05:30:20 +0000 (22:30 -0700)]
update comments a bit more
cassowarii [Sat, 20 Jun 2026 05:13:49 +0000 (22:13 -0700)]
add explanatory comment to lexer.c
cassowarii [Sat, 20 Jun 2026 04:57:06 +0000 (21:57 -0700)]
actually handle weird nesting with block headers and such
cassowarii [Sat, 20 Jun 2026 00:55:31 +0000 (17:55 -0700)]
lexer almost complete barring a few weird corner cases
cassowarii [Fri, 19 Jun 2026 18:27:12 +0000 (11:27 -0700)]
way more lexing capability
cassowarii [Fri, 19 Jun 2026 06:18:04 +0000 (23:18 -0700)]
fix bug in arena
cassowarii [Fri, 19 Jun 2026 06:13:38 +0000 (23:13 -0700)]
properly fail on nonexistent file
cassowarii [Fri, 19 Jun 2026 06:05:30 +0000 (23:05 -0700)]
setting up repository better
cassowarii [Fri, 19 Jun 2026 06:03:19 +0000 (23:03 -0700)]
world's worst lexer