Bruno BELANYI
|
5866cd4a82
|
Add 'tree-sitter' pre-commit hook
Make sure you don't break anything when committing.
|
2022-06-02 22:20:37 +02:00 |
|
Bruno BELANYI
|
b3e91d9aad
|
Add 'tree-sitter-files' pre-commit hook
This is too ensure that generated files are always in lock-step with the
grammar.
|
2022-06-02 22:20:37 +02:00 |
|
Bruno BELANYI
|
8f752e0f94
|
Add 'clang-format' pre-commit hook
|
2022-06-02 22:20:37 +02:00 |
|
Bruno BELANYI
|
5be01b43fb
|
Add clang-format rules
Since we now have an external scanner, might as well have good looking
code.
|
2022-06-02 22:20:37 +02:00 |
|
Bruno BELANYI
|
50a0eaa071
|
Add support for nested comments
Unfortunately, the 'extras' array expects single tokens only, so one
can't really use a recursive parsing rule to express nesting comments...
|
2022-06-02 22:20:37 +02:00 |
|
Bruno BELANYI
|
75bb2c7009
|
Add comments
For now it only supports non-nested comments. It seems like I *will*
need to write an external lexer to account for nesting properly.
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
e5e958cac9
|
Add tests for sequence expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
e59aeed31a
|
Remove nested 'parameters' field
The 'parameters' production rule does not need itself to have a
'parameters' field, this is redundant information.
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
76b558a982
|
Add return type to function declarations
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
1e5f7cd5d5
|
Add array types
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
dd0af53fa0
|
Add record types
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
506fab8896
|
Add type declarations
For now, simplified to type aliases only.
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
e898312c95
|
Add function declarations
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
3eb6b0a0d0
|
Add variable declarations
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
3cf701dbb1
|
Add top-level declarations
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
1449aa939f
|
Add let expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
68aac9a0ae
|
Delineate expressions in grammar
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
d32fd4fd6c
|
Add break expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
bb6875a11d
|
Add for expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
26999482a3
|
Add while expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
19c1f11414
|
Add if expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
93cd163707
|
Add assignment expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
6a3e4663ed
|
Add lvalue expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
8921953bbb
|
Add function calls
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
136924cb26
|
Add record expression
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
babf666642
|
Add array expression
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
02f83784b1
|
Use explicit 'nil_literal' rule
Makes the dumped AST more readable, and will probably help in writing
future queries.
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
0bc7e59fc7
|
Disable keyword extraction
For now bare keywords are errors, since we have not included them as
valid expressions.
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
50c8e3c0e6
|
Centralise precedence values
Makes it easier to ensure correct precedence relative to the rest of the
grammar later on.
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
03fa0427cf
|
Add arithmetic expressions
|
2022-06-02 17:07:30 +02:00 |
|
Bruno BELANYI
|
e7ba93870e
|
Add simple atoms
|
2022-06-01 22:19:04 +02:00 |
|
Bruno BELANYI
|
30b2e50367
|
Bootstrap tree-sitter parser architecture
|
2022-06-01 16:39:18 +02:00 |
|
Bruno BELANYI
|
4b1d0f7744
|
Ignore nix-generated files
|
2022-06-01 16:23:17 +02:00 |
|
Bruno BELANYI
|
00f3013af0
|
Bootstrap nix flake environment
|
2022-06-01 16:23:17 +02:00 |
|