- PyRuntimeBox.eval() で完全AOT対応(FloatBox返却) - NYASH_PY_AUTODECODE=1 によるプリミティブ型自動変換 - ConsoleBox経由の出力もAOT対応 - 多数のPythonテストサンプル追加 - 論文「1ヶ月でインタープリターからネイティブまで」執筆開始 課題: - import/getattr/callはプラグイン側の実装待ち - importとevalの文脈共有は未対応 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Nyash: 1ヶ月で独自言語からネイティブEXEまで完走した軽量言語処理系
Abstract(要旨)
本論文では、新プログラミング言語「Nyash」が、言語仕様策定から1ヶ月という極めて短期間で、インタープリター・VM・JIT・AOTコンパイラ・ネイティブ実行ファイル生成までの完全な言語処理系チェーンを実装した事例を報告する。
従来、新言語の開発はインタープリター実装だけでも数ヶ月を要し、JITやAOTコンパイラの実装には年単位の開発期間が必要とされてきた。本研究では、「Everything is Box」という統一的な設計理念と、MIR(Middle Intermediate Representation)を中心とした多段階コンパイルパイプラインにより、わずか4,000行のコードで完全な言語処理系を実現した。
特筆すべき成果として:
- 意味論等価性:VM/JIT/AOT/GC有無にかかわらず、同一プログラムが完全に同一のI/Oトレースを生成
- 性能達成:JITで13.5倍、AOTで更なる高速化を実証
- 配布可能性:スタンドアロンのネイティブ実行ファイル(~1MB)を生成
本成果は、軽量アーキテクチャによる言語処理系の高速プロトタイピングの可能性を示すとともに、プログラミング言語開発の新たなアプローチを提示するものである。
キーワード
プログラミング言語、コンパイラ、JIT、AOT、中間表現、高速プロトタイピング