Commit Graph

20 Commits

Author SHA1 Message Date
8951c3cd60
compiler: full support for IR based compilation 2023-11-23 21:48:10 -08:00
2d88666f05
WIP on IR 2023-11-22 07:23:33 -08:00
76290a401a
bytecode: enhance symbol table with both slab and symbol name 2023-11-21 23:27:21 -08:00
6211ad4ff1
global: a working virtual machine for some of the use cases. APIs and validation still WIP. 2023-11-21 22:18:05 -08:00
0a2d029c5c
language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
041848c14e
vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
15f5f313cc
build: move parser and tokenizer into separate modules 2023-10-16 21:52:21 -07:00
9338b01b48
parser: lazy support 2023-10-14 03:28:07 -07:00
5078f38f61
pork: it's got it all, ffi, state machine tokenizer, and better IDE support 2023-10-13 01:04:35 -07:00
945ba85c98
ast: move gay.pizza.pork.ast to gay.pizza.pork.ast.gen 2023-10-06 15:52:34 -07:00
821aa3563a
frontend: implement basic scope analysis 2023-09-17 00:38:47 -07:00
2307fdc0ed
parser: rewrite to be able to parse any node type on demand 2023-09-13 19:40:29 -07:00
81296ee1d1
imports are now python style with a twist: forms! import std ffi and import local myfile 2023-09-06 22:43:03 -07:00
0e4362eefb
add a standard library, and introduce formed imports (import std "myfile.pork") 2023-09-06 21:39:57 -07:00
ddff6cb365
language: today, we killed lambdas 2023-09-05 19:37:23 -07:00
9f90e05d8a
ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
174d51ca1c
Auto-generate the AST. 2023-09-04 22:13:58 -07:00
edec706ed4
Fix NodeType hierarchy. 2023-09-04 03:09:09 -07:00
4aa516f0fb
Fix some overqualifications due to IDE renaming. 2023-09-04 02:38:09 -07:00
128f40bcf4
Split out all code into modules. 2023-09-04 01:56:24 -07:00