Implement Phase 1: Core types, lexer, and test262 runner
Core types (lib/quickjs/core/):
- tag.ml: Value tags matching QuickJS JS_TAG_* constants
- value.ml: JSValue representation using OCaml GC
- atom.ml: Interned strings with ~289 predefined atoms
- runtime.ml: JSRuntime with class registry and memory tracking
- context.ml: JSContext with exception handling and intrinsics
Parser (lib/quickjs/parser/):
- source.ml: Source positions, locations, and cursor for lexing
- token.ml: Complete ES2024 token types (keywords, operators, etc.)
- lexer.ml: Handwritten recursive-descent lexer supporting:
- All number formats (decimal, hex, octal, binary, BigInt)
- String literals with escape sequences
- Template literals
- Regular expressions
- Private identifiers (#name)
- Unicode escapes
Test runner (test/runner/):
- test262_runner.ml: Skeleton for running ECMAScript Test262 suite
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>