Implement JS parser: AST and expression/statement parsing master
Add a recursive-descent JavaScript parser with Pratt expression parsing for ECMAScript 2024. Transforms the token stream from the lexer into an Abstract Syntax Tree. AST node types cover: - All expression types (literals, binary, unary, assignment, member access, call, new, arrow functions, template literals, spread, yield, await) - All statement types (if, for/for-in/for-of, while, do-while, switch, try/catch/finally, return, throw, break, continue, labeled, with) - Variable declarations (var/let/const) with destructuring patterns - Function declarations (sync, async, generators) - Class declarations (constructor, methods, getters/setters, static) - Import/export declarations (default, named, namespace, re-export) Features: - Operator precedence via Pratt parsing with binding power table - Automatic Semicolon Insertion (ASI) using lexer newline tracking - Arrow function detection with expression-to-pattern reinterpretation - Destructuring patterns (array, object, default values, rest) - for-in/for-of disambiguation with allow_in flag - 73 unit tests covering all grammar productions and error cases Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>