Syntax prototype and basic parser #1

Merged
HEL merged 41 commits from feat/syntax-prototype into main 2026-05-19 08:34:07 +00:00

41 Commits

Author SHA1 Message Date
697f4d5003 tests(parser): add midas lexer tests 2026-05-19 07:44:29 +02:00
7a831a1afc fix(parser): handle extra tokens in Midas parser 2026-05-18 18:43:35 +02:00
6922e49cdf tests(parser): add tests for midas parser 2026-05-18 18:43:03 +02:00
ae02bab030 tests(parser): add tests for annotation parser 2026-05-18 14:42:27 +02:00
7581a35be4 tests(parser): add syntax error test 2026-05-18 13:43:12 +02:00
6f0c0ce326 tests(parser): add literal value test 2026-05-18 13:35:23 +02:00
1b1fbb834e fix(parser): fix bang equal
consume equal token when matching bang-equal
2026-05-18 13:22:11 +02:00
f41c757838 tests(parser): complete simple annotation lexer tests 2026-05-18 13:21:23 +02:00
453c72af6d tests(parser): add basic lexer test
add a basic test for the annotation lexer to check punctuation tokens
2026-05-18 13:11:00 +02:00
ee308fe223 fix(parser): update examples 2026-05-18 12:47:21 +02:00
3f199ff134 feat(parser): add Midas pretty printer 2026-05-18 12:43:05 +02:00
74ac9c5381 feat(parser): parse Midas type constraints 2026-05-18 12:18:41 +02:00
e10d71a66b feat(parser): split annotation and Midas keywords 2026-05-18 11:33:33 +02:00
8bc0918517 feat(parser): parse annotation type constraints 2026-05-18 11:27:52 +02:00
be50a8db35 feat(parser): add operators to annotations lexer 2026-05-18 11:02:48 +02:00
340bcc65fd feat(parser): update annotation printers 2026-05-18 11:02:06 +02:00
cbf0f2852e feat(parser): add AnnotationStmt and ConstraintExpr 2026-05-18 11:01:39 +02:00
64d96bd94e feat: add Midas railroad diagrams 2026-05-18 10:23:53 +02:00
a3ba0ef35d feat: add Midas EBNF 2026-05-18 10:23:45 +02:00
903179832e feat: add annotations railroad diagrams 2026-05-18 10:02:10 +02:00
4fe495620b feat: add annotations EBNF 2026-05-18 09:51:17 +02:00
539084f6d8 feat(parser): add documentation to Midas parser 2026-05-18 09:17:57 +02:00
5831906f26 feat(parser): add documentation to annotation parser 2026-05-18 08:54:23 +02:00
61b36ee50f feat(parser): parse constraint statements 2026-05-14 02:44:21 +02:00
4b715ed33a feat(parser): use midas parser in test script 2026-05-14 02:38:04 +02:00
0af31a6f85 feat(parser): parse op statements 2026-05-14 02:37:50 +02:00
3b40abaa2b feat(parser): parse type body 2026-05-14 02:29:08 +02:00
6482e06bca feat(parser): add base Midas parser (incomplete) 2026-05-14 02:19:50 +02:00
4d25b43a4e fix(parser): prepare printer for midas printer 2026-05-14 02:05:59 +02:00
6d885a0449 feat(parser): use AST printer in test script 2026-05-14 01:12:05 +02:00
052339ad3a refactor(parser): improve AST printer
refactored the messy AST printer impletation with Claude to use a context manager, an enum and extract common functions

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-14 01:11:37 +02:00
c420e5e254 feat(parser): add an annotation AST printer 2026-05-14 00:55:31 +02:00
721ed812df feat(parser): add a basic annotation parser 2026-05-14 00:07:46 +02:00
8252f452f2 feat(parser): add base parser class
the parser was adapted from another project (see docstring on the Parser class)
2026-05-13 22:40:27 +02:00
cc4b5dabf2 feat(parser): add midas lexer to test script 2026-05-13 22:40:26 +02:00
1fc842e23f feat(parser): add basic lexer for type definitions 2026-05-13 22:40:26 +02:00
fcbea218a4 feat(parser): add a test script for the annotation lexer 2026-05-13 22:40:26 +02:00
10ee4991c3 feat(parser): add a basic lexer for annotations 2026-05-13 22:40:25 +02:00
fedc582e16 feat(parser): add base lexer class
the lexer and token structures were adapted from another project (see docstring on the Lexer class)
2026-05-13 22:40:19 +02:00
9b59306604 feat: add vscode extension for basic syntax highlighting 2026-05-13 14:38:01 +02:00
3cf3011160 feat: add some syntax examples 2026-05-13 14:36:51 +02:00