Commit Graph

146 Commits

Author SHA1 Message Date
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
4758e92676
evaluator: significant performance enhancements 2023-09-21 17:21:53 -07:00
1a759b9746
gradle: improve performance of ast codegen 2023-09-20 18:58:05 -07:00
21ff33f776
gradle: make ast generation faster using kaml and coroutines 2023-09-20 15:13:33 -07:00
ad5fc9bf0f
gradle: make build faster 2023-09-20 14:43:27 -07:00
dacec08587
ffi: rework for future struct support 2023-09-18 04:53:24 -07:00
7cb3e02b21
parser: major refinement of error handling 2023-09-18 01:07:28 -07:00
5610326eda
examples: simple game of life impl using SDL2 thru ffi & native java collections 2023-09-17 08:45:33 -07:00
a08526c92c
language: implement list indexing 2023-09-17 08:38:11 -07:00
3b101bd48a
global: idea generation support 2023-09-17 00:38:47 -07:00
821aa3563a
frontend: implement basic scope analysis 2023-09-17 00:38:47 -07:00
aadc8282a5
introduce impork, workload as cute import aliases (#10)
Co-authored-by: Violet White <violet.white.dammit@protonmail.com>
Co-authored-by: Violet White <violet.white@espeon.social>
2023-09-14 21:34:24 -07:00
63e7203db9
parser: fix bug in ide support 2023-09-13 19:50:23 -07:00
2307fdc0ed
parser: rewrite to be able to parse any node type on demand 2023-09-13 19:40:29 -07:00
a dinosaur
b42ca92d9f
evaluator: fix unary operators on floating point types always throwing a spurious error (#9) 2023-09-12 03:40:13 -04:00
a6f9a82e5e
language: none support 2023-09-12 02:03:41 -04:00
ca111f8e4b
ffi: ensure failure to find functions don't produce null pointer exceptions 2023-09-12 01:40:15 -04:00
a9e3e8a69a
ffi: don't try to use unsigned types from kotlin 2023-09-12 01:22:31 -04:00
260c9f437d
ffi: explicit parameter type conversion 2023-09-12 01:16:11 -04:00
4053c5825a
idea: fix pork symbol declaration 2023-09-12 00:50:06 -04:00
f64a54fa06
parser: fix integer literals 2023-09-12 00:46:09 -04:00
1b363dcf56
parser: implement long literal and handle overflow 2023-09-12 00:25:13 -04:00
7aa9d95221
idea: implement psi parser and the start of symbol declarations 2023-09-11 22:43:34 -04:00
b64c7fb259
parser: use ast user data to store attribution 2023-09-11 20:13:15 -04:00
a dinosaur
a07e0fe672
language: add boolean and/or operators, change negation syntax (#7)
* language: add boolean and/or operators, change negation syntax

* examples: simplify row builder using arrays
2023-09-11 14:02:58 -04:00
0aab45094a
language: implement for in 2023-09-11 05:34:09 -04:00