jsonbuilder: add apps/lib/json_builder.nyash and docs; wire loop_normalize_macro to prepare for usage; prefer Nyash runner route
This commit is contained in:
@ -11,6 +11,18 @@ export NYASH_MACRO_PATHS=apps/macros/examples/loop_normalize_macro.nyash
|
||||
```
|
||||
- 自己ホスト前展開(auto)を利用して、parse直後にLoopForm展開を有効化(PyVM環境)。
|
||||
|
||||
JSON生成ユーティリティ(JsonBuilder)
|
||||
- ループ正規化では AST JSON v0 の断片を安全に構成する必要があります。
|
||||
- 最小ユーティリティとして `apps/lib/json_builder.nyash` を提供しています(includeで読み込み、文字列でJSON断片を生成)。
|
||||
- 例:
|
||||
```
|
||||
local JB = include "apps/lib/json_builder.nyash"
|
||||
local v_i = JB.variable("i")
|
||||
local v_sum = JB.variable("sum")
|
||||
local lit_0 = JB.literal_int(0)
|
||||
local assign = JB.assignment(v_i, JB.binary("+", v_i, JB.literal_int(1)))
|
||||
```
|
||||
|
||||
正規化の考え方
|
||||
- ループで更新される変数群をタプルに束ね、ヘッダに“1個のφ”を置く。
|
||||
- break/continue は“次キャリア”または“現キャリア”で遷移し、一貫した合流点を保つ。
|
||||
@ -29,4 +41,3 @@ export NYASH_MACRO_PATHS=apps/macros/examples/loop_normalize_macro.nyash
|
||||
|
||||
参考
|
||||
- docs/development/roadmap/phases/phase-17-loopform-selfhost/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user