Commit Graph

17 Commits

Author SHA1 Message Date
d5e25a15dc ast: add continue expression 2025-10-28 22:47:58 -04:00
588606e0c4 src: address a bunch of clippy::pedantic lints 2025-10-28 02:53:20 -04:00
263d2290c0 token: Make TKind::{Pub, Mod} match their keywords 2025-10-21 08:35:33 -04:00
6c57263492 token: Remove and and or tokens, since they clash with operator overload function names 2025-10-21 07:43:04 -04:00
ccb6bef6d9 ast: Add use, tackle remaining low-hanging fruit 2025-10-21 07:09:12 -04:00
6368e68941 doughlang: Preserve errors through entire pipeline
lexer:
- Un-stringify errors
- Reserve more words
- Doc the comments

parser:
- MASSIVE changes to peek, peek_if, next_if, consume_if=>expect.
- Keep track of when EOF is allowable
- TKind is stupidly cheap with >100 niches, so we can fit like 4 of them in a single ParseError lmao
- TODO: make sure EOF/UnexpectedEOF propagation is correct. It seems... Kinda Not correct.
- Add meta-expressions
2025-10-17 06:25:11 -04:00
c8f1f082c4 lexer: Document stuff 2025-10-16 23:08:16 -04:00
e1419fa430 doughlang: enums, ref patterns, ref types 2025-10-16 06:53:09 -04:00
f47de24cfb token: reserve "and", "or", "in" as keywords 2025-10-16 01:37:24 -04:00
b5d552376e Move integer and char parsing out of the parser and back into the lexer 2025-10-10 14:45:08 -04:00
0cbb800c19 lexer: Change base36 sigil to tilde, to match Conlang 2025-10-10 13:39:58 -04:00
4b0f30f78e lexer: Fun little lexer hack to allow trailing commas 2025-10-07 05:42:44 -04:00
222b2d7b98 ast: struct 2025-10-07 05:00:51 -04:00
bcabbcd39d ast: pub, mod, and Ty::Fn parsing 2025-09-30 15:32:20 -04:00
7b05da1334 do: Elaborate on pattern syntax, add binary as operator 2025-09-16 04:18:12 -04:00
b6949147c4 parser: Refactor coagulated binops as postfix operators
This allows them to intermingle more nicely with `Try`
2025-09-15 10:28:08 -04:00
c83218d750 Initial Commit 2025-08-28 02:26:06 -04:00