Commit Graph

171 Commits

Author SHA1 Message Date
5ac70d800e implement basic type annotations (not yet used or declarable) 2025-07-20 00:52:24 -07:00
a48fac4581 rework some bits of the compiler to work more appropriately 2025-07-16 23:14:25 -07:00
17b1aa44c0 upgrade dependencies 2025-07-03 03:18:11 -07:00
d2eaffafcc implement a new native call bytecode mechanism that can be optimized by the vm 2025-03-18 19:57:27 -07:00
10308eae5c fix intellij plugin 2025-03-18 18:55:07 -07:00
b1c6aac335 swap to jdk 21 2025-03-16 23:57:48 -07:00
61fbb6f35f upgrade gradle and fix plugin build 2025-03-16 23:48:04 -07:00
d31a8f41eb fix github workflows 2025-03-16 23:37:56 -07:00
2f5ea4629d modify compiler to fix return values and add support for vm ffi 2025-03-15 23:34:16 -07:00
4100752f1c upgrade to java 22 and fix miscompile of variable loads 2025-03-15 21:16:48 -07:00
6e225aab88 fix game of life support in evaluator 2024-12-01 04:13:59 -05:00
4ec5624be4 upgrade everything to modern versions 2024-11-30 19:48:07 -05:00
d079244fd7 gradle: update dependencies 2023-12-27 17:57:24 -08:00
7a0b5ae88f example: fix boolean table 2023-12-27 16:46:26 -08:00
35ce58bb44 bir: mutable values and inspection 2023-12-27 16:44:32 -08:00
962d079acc compiler: declare symbols before store so that symbol graph works 2023-11-29 15:03:22 -08:00
3dbf8f9c4a vm: implement local slot storage for fast lookup 2023-11-29 02:16:43 -08:00
f2ff23e9be language: implement proper virtual machine support 2023-11-28 05:23:48 -08:00
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
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
8c48c93663 language: prepare for struct support 2023-11-06 21:37:27 -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
5078f38f61 pork: it's got it all, ffi, state machine tokenizer, and better IDE support 2023-10-13 01:04:35 -07:00
d355fb3914 parser: fix bad type assertions causing NoSuchMethodError 2023-10-08 18:45:59 -07:00
73a458b673 parser: various code and quality enhancements 2023-10-08 04:46:23 -07:00
fdac4fb96a ffi: move type conversion to FfiType 2023-10-06 19:57:05 -07:00
437ab758be ffi: migrate to jffi which will provide a path for struct support 2023-10-06 17:07:15 -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
d36310e698 parser: switch to char matcher interface 2023-10-06 15:30:43 -07:00
97283636bc idea: enhance symbol support 2023-09-23 18:51:02 -07:00
87623505c0 common: unused marker for marking values as unused intentionally 2023-09-23 16:30:00 -07:00
4ae1d19012 readme: fix missing export for main 2023-09-23 15:55:42 -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
c340cfb86d idea: significant enhancements to ide experience 2023-09-22 22:38:06 -07:00
83c24843a3 ffi: new native function format 2023-09-22 00:26:24 -07:00
f60715dfb3 idea: proper scoping support, completion now works 2023-09-21 23:07:22 -07:00
c92a111af7 idea: implement function call completion (limited) 2023-09-21 21:33:34 -07:00
d12aadf18c idea: brace matching and function resolution 2023-09-21 21:08:20 -07:00
c4f65a66ca parser: ensure that the parse functions are always directly called by reworking whitespace 2023-09-21 18:04:19 -07:00