Commit Graph

11 Commits

Author SHA1 Message Date
b400f48676 Chained DotGet, meta.script.name. Doesn't work for numbers (row.2.1) yet 2025-11-10 01:04:13 -08:00
1053a5ff52 Make dot-get work in the compiler AND with parens exprs 2025-10-29 13:19:47 -07:00
972fd25fda update params scope detection, add array.1 (dotget array indices) 2025-10-26 22:23:46 -07:00
abd7d2e43b DotGet function calls 2025-10-26 16:28:56 -07:00
d306d58b2f now it is do 2025-10-24 14:04:50 -07:00
7077762738 great stuff 2025-10-24 14:02:29 -07:00
66671970e0 i did things 2025-10-24 10:17:06 -07:00
4619791b7d test: update test expectations for AssignableIdentifier token
Updated all parser and compiler tests to expect AssignableIdentifier
tokens in Assign and Params contexts instead of Identifier. Also
skipped pre-existing failing native functions test.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 19:10:40 -07:00
a33f6cd191 fix(parser): clear pendingIdentifiers after FunctionCall to prevent test state leakage
The scope tracker uses module-level state (pendingIdentifiers) that was not being
cleared after FunctionCall reductions, causing identifier state to leak between
tests. This caused the test 'readme.txt is Word when used in function' to break
the following test by leaving 'echo' in pendingIdentifiers.

- Add FunctionCall to the list of terms that clear pendingIdentifiers
- Un-skip the previously failing test 'readme.txt is Word when used in function'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 10:44:14 -07:00
8a29090364 fix(parser): make DotGet whitespace-sensitive
- Add IdentifierBeforeDot token emitted when identifier immediately precedes '.'
- Move DotGet into @skip {} block using IdentifierBeforeDot
- Prevents 'basename . prop' from parsing as DotGet
- Allows 'basename.prop' to work as expected when identifier is in scope
- Fixes test: 'a word can be contained in parens'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 10:40:28 -07:00
d894713744 feat(parser): complete DotGet implementation with scope tracking
- Fixed tokenizer input.read() to use absolute positions
- Fixed FN_KEYWORD term ID (33 after DotGet added to expression)
- Added DotGet to expression for use as function argument
- All 8 DotGet tests passing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 07:42:07 -07:00