Files
hakorune/apps/selfhost-compiler
Selfhosting Dev af11c6855b 🚀 Start Phase 15.3: Nyash compiler MVP implementation
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>
2025-09-15 01:21:37 +09:00
..

Nyash Selfhost Compiler (MVP scaffold)

This is the Phase 15.3 work-in-progress Nyash compiler implemented in Ny.

Layout

  • compiler.nyash: entry (CompilerBox). Reads tmp/ny_parser_input.ny, prints JSON v0.
  • parser/: lexer/parser/ast (scaffolds; to be filled as we extend Stage2)
  • mir/: builder/optimizer stubs (future; current target is JSON v0 emit)
  • tests/: Stage1/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.ny and invokes this program.
    • It captures a JSON v0 line from stdout and executes it via the JSON bridge.

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.