Commit Graph

56 Commits

Author SHA1 Message Date
3dcac2f9e6 implement support for setting indexed values 2025-07-26 17:01:24 -07:00
48e19a8068 implement support for multiple index operations 2025-07-26 16:31:12 -07:00
08f9b6f2ae code cleanup 2025-07-26 15:49:44 -07:00
f7ff896f81 implement support for type definitions 2025-07-20 19:28:01 -07:00
5ac70d800e implement basic type annotations (not yet used or declarable) 2025-07-20 00:52:24 -07:00
0a2d029c5c language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
8c48c93663 language: prepare for struct support 2023-11-06 21:37:27 -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
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
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
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
ad5fc9bf0f gradle: make build faster 2023-09-20 14:43:27 -07:00
7cb3e02b21 parser: major refinement of error handling 2023-09-18 01:07:28 -07:00
a08526c92c language: implement list indexing 2023-09-17 08:38:11 -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
a6f9a82e5e language: none support 2023-09-12 02:03:41 -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
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
9ba150bb69 language: add binary operators (#6)
- unary binary not
- infix bitwise and
- infix bitwise or
- infix bitwise exclusive or (xor)
2023-09-11 05:24:08 -04:00
d8c0ef43c1 parser: cleanup code for fixing comma bug 2023-09-11 05:20:08 -04:00
dbe4e7d5a5 parser: fix bug where comma was not required in function call 2023-09-11 05:17:55 -04:00
24d2ff5743 parser: fix parsing of modifiers for let definitions 2023-09-11 05:03:12 -04:00
8f60039d6e language: implement let definitions 2023-09-11 04:57:13 -04:00
8d310e337a language: add unary plus & minus, post increment & decrement operators, non-newline print builtin. fix block comments (#4) 2023-09-11 00:34:10 -04:00
e8c984f2dc language: prelude and internal functions, and varargs support 2023-09-10 19:27:59 -04:00
71999032ac language: var, reassign, comparison operators 2023-09-10 04:35:36 -04:00
0bc3128b9d support: basic idea plugin 2023-09-10 01:27:53 -04:00
0024a8b141 language: euclidean modulo and remainder infix operators (#3) 2023-09-09 22:41:20 -04:00
e8766323ee language: floating point support 2023-09-09 00:08:30 -04:00
a2f2252965 ffi: autogen java bindings (very wip) 2023-09-07 01:51:50 -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
ddff6cb365 language: today, we killed lambdas 2023-09-05 19:37:23 -07:00