Major milestone: - Set up apps/selfhost-compiler/ directory structure - Implement basic Nyash compiler in Nyash (CompilerBox) - Stage-1: Basic arithmetic parser (int/string/+/-/*/括弧/return) - JSON v0 output compatible with --ny-parser-pipe - Runner integration with NYASH_USE_NY_COMPILER=1 flag - Comprehensive smoke tests for PHI/Bridge/Stage-2 Technical updates: - Updated CLAUDE.md with Phase 15.3 status and MIR14 details - Statement separation policy: newline-based with minimal ASI - Fixed runaway ny-parser-pipe processes (CPU 94.9%) - Clarified MIR14 as canonical instruction set (not 13/18) - LoopForm strategy: PHI auto-generation during reverse lowering Collaborative development: - ChatGPT5 implementing compiler skeleton - Codex provided LoopForm PHI generation guidance - Claude maintaining documentation and coordination 🎉 セルフホスティングの歴史的一歩!自分自身をコンパイルする日が近いにゃ! Co-Authored-By: ChatGPT <noreply@openai.com>
Nyash Selfhost Compiler (MVP scaffold)
This is the Phase 15.3 work-in-progress Nyash compiler implemented in Ny.
Layout
compiler.nyash: entry (CompilerBox). Readstmp/ny_parser_input.ny, prints JSON v0.parser/: lexer/parser/ast (scaffolds; to be filled as we extend Stage‑2)mir/: builder/optimizer stubs (future; current target is JSON v0 emit)tests/: Stage‑1/2 samples (TBD)
Run (behind flag)
NYASH_USE_NY_COMPILER=1 target/release/nyash --backend vm <program.nyash>- The runner writes the input to
tmp/ny_parser_input.nyand invokes this program. - It captures a JSON v0 line from stdout and executes it via the JSON bridge.
- The runner writes the input to
Notes
- Early MVP emits a minimal JSON v0 (currently a placeholder: return 0). We will gradually wire lexer/parser/emitter.
- Keep JSON v0 spec in
docs/reference/ir/json_v0.md.