Extended PatternPipelineContext and CarrierUpdateInfo for Pattern 3 AST-based generalization. Changes: 1. PatternPipelineContext: - Added loop_condition: Option<ASTNode> - Added loop_body: Option<Vec<ASTNode>> - Added loop_update_summary: Option<LoopUpdateSummary> - Updated build_pattern_context() for Pattern 3 2. CarrierUpdateInfo: - Added then_expr: Option<ASTNode> - Added else_expr: Option<ASTNode> - Updated analyze_loop_updates() with None defaults Status: Phase 213-2 Steps 2-2 & 2-3 complete Next: Create Pattern3IfAnalyzer to extract if statement and populate update summary
1.9 KiB
1.9 KiB
🌐 Nyash WASM ガイド
Nyash WebAssembly(WASM)実行に関する包括的ガイド
📖 ドキュメント一覧
基本ガイド
技術仕様
- FFI/BIDチュートリアル - 外部API統合方法
- メモリ管理 - WASM メモリレイアウト・最適化
🚀 クイックスタート
WASM コンパイル
# 基本コンパイル
./target/release/hakorune --compile-wasm program.hako
# AOT コンパイル(配布用)
./target/release/hakorune --aot program.hako
ブラウザー実行
<!DOCTYPE html>
<html>
<body>
<script>
WebAssembly.instantiateStreaming(fetch('program.wasm'), importObject)
.then(instance => instance.exports.main());
</script>
</body>
</html>
🎯 実行方式選択
| 用途 | 方式 | コマンド |
|---|---|---|
| 開発・テスト | インタープリター | nyash program.hako |
| 高速実行 | VM | nyash --backend vm program.hako |
| Web配布 | WASM | nyash --compile-wasm program.hako |
| ネイティブ配布 | AOT | nyash --aot program.hako |
📊 性能比較
| バックエンド | 実行速度 | 配布サイズ | 依存関係 |
|---|---|---|---|
| インタープリター | 1x | - | Rust |
| VM | 20.4x | - | Rust |
| WASM | 13.5x | 小 | なし |
| AOT | 目標1000x+ | 小 | なし |
🔗 関連ドキュメント
最終更新: 2025-08-15