Stage 3 of parser study: tree-walking evaluator that demonstrates
pure-expression MUX softcode CAN be evaluated from an AST. Implements
arithmetic, string, list, comparison, boolean, register, and control
flow functions. Includes 64-test harness.
Key finding: FN_NOEVAL functions (iter, switch, if) need deferred
argument evaluation — the evaluator must pass unevaluated AST subtrees
rather than pre-evaluated strings. Solvable but requires a different
dispatch mechanism than simple string-in/string-out handlers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Stage 2 of parser study: recursive-descent parser that builds an AST
from the token stream. Handles static function calls, dynamic/computed
calls (DynCall), eval brackets, brace groups, and nested arglists.
Enhanced tokenizer with full L2 %-substitution coverage. Added test
corpus covering all major expression patterns.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document the three-layer parser architecture (command, expression,
lock) in docs/PARSER.md with analysis of mux_exec internals, the
backwards function name recognition challenge, and a staged plan
for potential AST generation. Include a standalone tokenizer CLI
tool in parser/ for studying MUX expression structure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>