Files
hakorune/tools/test/golden/macro/loop_postfix_sugar.expanded.json
Selfhosting Dev c8063c9e41 pyvm: split op handlers into ops_core/ops_box/ops_ctrl; add ops_flow + intrinsic; delegate vm.py without behavior change
net-plugin: modularize constants (consts.rs) and sockets (sockets.rs); remove legacy commented socket code; fix unused imports
mir: move instruction unit tests to tests/mir_instruction_unit.rs (file lean-up); no semantic changes
runner/pyvm: ensure using pre-strip; misc docs updates

Build: cargo build ok; legacy cfg warnings remain as before
2025-09-21 08:53:00 +09:00

16 lines
1.1 KiB
JSON

{"kind":"Program","statements":[
{"kind":"FunctionDeclaration","name":"f","params":["x"],"body":[{"kind":"Return","value":{"kind":"Variable","name":"x"}}]},
{"kind":"FunctionDeclaration","name":"main","params":["args"],"body":[
{"kind":"Local","variables":["i"],"inits":[{"kind":"Literal","value":{"type":"int","value":0}}]},
{"kind":"Loop","condition":{"kind":"BinaryOp","op":"<","left":{"kind":"Variable","name":"i"},"right":{"kind":"Literal","value":{"type":"int","value":2}}},"body":[
{"kind":"TryCatch",
"try":[{"kind":"FunctionCall","name":"f","arguments":[{"kind":"Variable","name":"i"}]}],
"catch":[{"type":"Error","var":"e","body":[{"kind":"Print","expression":{"kind":"Variable","name":"e"}}]}],
"cleanup":[{"kind":"Print","expression":{"kind":"Literal","value":{"type":"string","value":"cleanup"}}}]
},
{"kind":"Assignment","target":{"kind":"Variable","name":"i"},"value":{"kind":"BinaryOp","op":"+","left":{"kind":"Variable","name":"i"},"right":{"kind":"Literal","value":{"type":"int","value":1}}}}
]}
]}
]}