|
2692e3c991
|
IR WIP
|
2023-11-22 21:40:09 -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 |
|
|
5540918e7c
|
vm: a functional virtual machine, mostly
|
2023-11-21 04:04:44 -08:00 |
|
|
4c50d48e1e
|
compiler: first attempt at restructuring
|
2023-11-15 01:20:49 -08:00 |
|
|
041848c14e
|
vm: very basic virtual machine
|
2023-11-14 23:44:10 -08:00 |
|
|
e3bfa3fbfc
|
tokenizer: remove TokenStream, use sequences instead
|
2023-10-16 22:16:53 -07: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 |
|
|
e96bcd8754
|
gradle: 8.4 and parser: lazy tokenization
|
2023-10-13 08:56:04 -07:00 |
|
|
73a458b673
|
parser: various code and quality enhancements
|
2023-10-08 04:46:23 -07:00 |
|
|
0d8c6723de
|
Merge remote-tracking branch 'origin/jlf'
|
2023-10-06 16:14:30 -07:00 |
|
|
945ba85c98
|
ast: move gay.pizza.pork.ast to gay.pizza.pork.ast.gen
|
2023-10-06 15:52:34 -07:00 |
|
|
a292449b6a
|
ast: fix codegen of equals to not produce warnings
|
2023-09-23 15:53:54 -07:00 |
|
|
e31566f0d6
|
ffi: migrate to java.lang.foreign and require Java 21
|
2023-09-23 15:45:01 -07:00 |
|
|
c92a111af7
|
idea: implement function call completion (limited)
|
2023-09-21 21:33:34 -07:00 |
|
|
4758e92676
|
evaluator: significant performance enhancements
|
2023-09-21 17:21:53 -07:00 |
|
|
7cb3e02b21
|
parser: major refinement of error handling
|
2023-09-18 01:07:28 -07:00 |
|
|
821aa3563a
|
frontend: implement basic scope analysis
|
2023-09-17 00:38:47 -07:00 |
|
|
b64c7fb259
|
parser: use ast user data to store attribution
|
2023-09-11 20:13:15 -04:00 |
|
|
14b3f4c6e9
|
minimal: pork-rt minimal runtime
|
2023-09-11 02:39:38 -04:00 |
|
|
e8c984f2dc
|
language: prelude and internal functions, and varargs support
|
2023-09-10 19:27:59 -04:00 |
|
a dinosaur
|
4a9508ddc4
|
tool: cleaner println built-in (#1)
|
2023-09-09 22:20:56 -04:00 |
|
|
bf474f6b69
|
evaluator: introduce and expose scope tracking
|
2023-09-08 00:04:36 -07:00 |
|
|
38efbe1844
|
ffi: java interop improvements
|
2023-09-07 18:16:47 -07:00 |
|
|
a2f2252965
|
ffi: autogen java bindings (very wip)
|
2023-09-07 01:51:50 -07:00 |
|
|
953679b859
|
ffi: support for java native functions
|
2023-09-07 01:03:01 -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 |
|
|
236f812caf
|
while loop support, and native functions (including ffi!)
|
2023-09-06 19:07:28 -07:00 |
|
|
9f90e05d8a
|
ast: utilize extension functions to prevent larger stack frames from default interface methods
|
2023-09-05 17:06:52 -07:00 |
|
|
725137c82f
|
tool: add support for measuring runtime of a program
|
2023-09-05 01:49:19 -07:00 |
|
|
7de8f8cd63
|
Prepare for benchmarking and profiling.
|
2023-09-05 01:02:13 -07:00 |
|
|
2f0ee43556
|
tool: use absolute path for root
|
2023-09-04 22:46:36 -07:00 |
|
|
e7f36e0524
|
Fix -march=compatibility for GraalVM
|
2023-09-04 22:33:38 -07:00 |
|
|
174d51ca1c
|
Auto-generate the AST.
|
2023-09-04 22:13:58 -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 |
|