Guillem L. Jara
8d80ab8284
Merge pull request #52 from Franklin-Qi/fix-bug#37-Parser-unenforced-non-keyword-names-on-namespaced-identifiers
...
parser: reject reserved keywords in qualified identifiers
2026-06-28 20:20:54 +02:00
Guillem L. Jara
40a3c8bae0
parser: keep tests
2026-06-28 20:03:41 +02:00
Guillem L. Jara
5c96dbd379
parser, lexer: move explicit ident qualification to parser.
2026-06-28 19:49:34 +02:00
Franklin-Qi and Sylvestre Ledru
04610f1cb2
parser: extend Pratt error spans to cover subexpressions ( #50 )
...
- Track an anchor at the start of each Pratt subexpression and report errors from that anchor through the offending token, instead of highlighting only the final token.
- Apply this to assignment/index/place errors, prefix operators, unclosed parentheses and brackets, and related Pratt paths. Keep narrow spans for non-associative operators (e.g. chained = ).
- Add unit tests that assert the highlighted source snippets for common parse failures.
Closes : #42
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org >
2026-06-28 18:57:27 +02:00
yushuoqi
7436420736
parser: reject reserved keywords in qualified identifiers
...
Validate namespace and literal parts of ns::name against gawk's reserved
keyword list when building identifiers, including @namespace directives.
Closes : #37
2026-06-28 18:22:44 +02:00
Guillem L. Jara and yor1xd
67bf583c51
interpreter: widen instructions, immediates ( #47 )
...
* interpreter: widen instructions, immediates
* lexer, parser: add tokens and nodes for built-in functions
* chore: fix CI
---------
Co-authored-by: yor1xd <gabrielhenriquenf1@gmail.com >
2026-06-28 18:21:48 +02:00
yushuoqi
1b96ee9d92
Add unit tests for parser and lexer
...
Expand test coverage for the parser and lexer using existing patterns: test_parser! macro assertions for AST s-expressions and token-slice comparisons for the lexer.
Closes : #43
2026-06-17 12:01:53 +02:00
Photon101
0bbf52227c
parser: recognize exponentiation operators
2026-06-11 17:53:47 +02:00
Guillem L. Jara
55b1fbd561
lexer, parser: add small integer atoms
...
Useful for immediate values in the interpreter; allows us to save on register loads and loads & stores in the constants table.
2026-06-02 12:20:32 +02:00
Guillem L. Jara
b23d1e317c
interpreter: print statements; calling conventions
2026-05-29 02:06:25 +02:00
yor1xd
1df4886ac5
parser: handle chained array indexing in parse_place and add tests
2026-05-29 00:57:01 +02:00
yor1xd
ad6ba45c7c
parser: add support for multidimensional arrays
2026-05-29 00:57:01 +02:00
Guillem L. Jara
ecc7dcced6
interpreter: binary placing operations; expand IR
2026-05-27 18:16:45 +02:00
Guillem L. Jara
fa77cb8f44
parser: lower matched regexes to typed ones
2026-05-25 14:14:05 +02:00
Guillem L. Jara
98fa3c33c2
perf: switch to ahash, indexmap-allocator-api
2026-05-25 01:50:22 +02:00
Guillem L. Jara
8b29b26050
chore: add rustfmt.toml
...
Pretty sure nobody was working on anything atm, sorry otherwise...
2026-05-24 02:46:09 +02:00
Guillem L. Jara
d82792d3ee
interpreter: begin codegening expressions
2026-05-21 17:23:20 +02:00
Guillem L. Jara
5af0dbc4d0
chore(parser): add tests
2026-05-19 23:57:44 +02:00
Guillem L. Jara
ea5bd85525
parser: fix delete array indexing
2026-05-19 22:58:19 +02:00
Guillem L. Jara
49dfed25d8
chore(parser): format tests
2026-05-19 16:48:00 +02:00
Guillem L. Jara
38779a4457
chore(parser): add tests
2026-05-18 17:50:52 +02:00
Guillem L. Jara
0a19623285
parser: tighten for loop logic; solve gawk ambiguity
2026-05-18 17:33:21 +02:00
Guillem L. Jara
4d28100f0b
chore(parser): add tests
2026-05-18 13:00:23 +02:00
Guillem L. Jara
66ed9a914e
parser: multidimensional look-ups
2026-05-18 12:50:37 +02:00
Guillem L. Jara
8422aac095
parser: do not process array indexing
2026-05-18 12:23:26 +02:00