Appearance
CollatzSequence
27から始め、偶数なら2で割り、奇数なら3倍して1を足すCollatz数列を1まで出力します。分岐と繰り返しのサンプルです。
json
{
"version": 1,
"comment": "27から始め、偶数なら2で割り、奇数なら3倍して1を足すCollatz数列を1まで出力します。分岐と繰り返しのサンプルです。",
"data": [
{
"name": "__n",
"type": "SystemInt32",
"value": 0
},
{
"name": "__next",
"type": "SystemInt32",
"value": 0
},
{
"name": "__remainder",
"type": "SystemInt32",
"value": 0
},
{
"name": "__triple",
"type": "SystemInt32",
"value": 0
},
{
"name": "__one",
"type": "SystemInt32",
"value": 1
},
{
"name": "__two",
"type": "SystemInt32",
"value": 2
},
{
"name": "__three",
"type": "SystemInt32",
"value": 3
},
{
"name": "__start_value",
"type": "SystemInt32",
"value": 27
},
{
"name": "__zero",
"type": "SystemInt32",
"value": 0
},
{
"name": "__condition",
"type": "SystemBoolean",
"value": false
},
{
"name": "__shiras_result_object_name",
"type": "SystemString",
"value": "ShirasUdonResultText"
},
{
"name": "__shiras_result_object",
"type": "UnityEngineGameObject",
"value": null
},
{
"name": "__shiras_result_text_type",
"type": "SystemType",
"value": "UnityEngineUIText"
},
{
"name": "__shiras_result_text",
"type": "UnityEngineUIText",
"value": null
},
{
"name": "__shiras_result_found",
"type": "SystemBoolean",
"value": false
},
{
"name": "__shiras_result_message_0",
"type": "SystemString",
"value": ""
},
{
"name": "__shiras_result_builder",
"type": "SystemTextStringBuilder",
"value": null
},
{
"name": "__shiras_result_builder_next",
"type": "SystemTextStringBuilder",
"value": null
}
],
"code": [
{
"name": "_start",
"export": true,
"instructions": [
{
"op": "EXTERN",
"signature": "SystemTextStringBuilder.__ctor____SystemTextStringBuilder",
"argumentCount": 0,
"return": "__shiras_result_builder"
},
{
"op": "POP"
},
{
"op": "PUSH",
"operand": "__start_value"
},
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "COPY"
},
{
"op": "JUMP",
"operand": "_loop"
}
]
},
{
"name": "_loop",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "EXTERN",
"signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
"argumentCount": 1
},
{
"op": "JUMP",
"operand": "__shiras_display_0"
}
]
},
{
"name": "__shiras_display_0",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__shiras_result_builder"
},
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "EXTERN",
"signature": "SystemTextStringBuilder.__Append__SystemObject__SystemTextStringBuilder",
"argumentCount": 2,
"return": "__shiras_result_builder_next"
},
{
"op": "POP"
},
{
"op": "PUSH",
"operand": "__shiras_result_builder"
},
{
"op": "EXTERN",
"signature": "SystemTextStringBuilder.__AppendLine__SystemTextStringBuilder",
"argumentCount": 1,
"return": "__shiras_result_builder_next"
},
{
"op": "POP"
},
{
"op": "PUSH",
"operand": "__shiras_result_builder"
},
{
"op": "EXTERN",
"signature": "SystemTextStringBuilder.__ToString__SystemString",
"argumentCount": 1,
"return": "__shiras_result_message_0"
},
{
"op": "POP"
},
{
"op": "PUSH",
"operand": "__shiras_result_object_name"
},
{
"op": "EXTERN",
"signature": "UnityEngineGameObject.__Find__SystemString__UnityEngineGameObject",
"argumentCount": 1,
"return": "__shiras_result_object"
},
{
"op": "POP"
},
{
"op": "PUSH",
"operand": "__shiras_result_object"
},
{
"op": "EXTERN",
"signature": "UnityEngineObject.__op_Implicit__UnityEngineObject__SystemBoolean",
"argumentCount": 1,
"return": "__shiras_result_found"
},
{
"op": "JUMP_IF_FALSE",
"operand": "__shiras_continue_0"
},
{
"op": "PUSH",
"operand": "__shiras_result_object"
},
{
"op": "PUSH",
"operand": "__shiras_result_text_type"
},
{
"op": "EXTERN",
"signature": "UnityEngineGameObject.__GetComponent__SystemType__UnityEngineComponent",
"argumentCount": 2,
"return": "__shiras_result_text"
},
{
"op": "POP"
},
{
"op": "PUSH",
"operand": "__shiras_result_text"
},
{
"op": "EXTERN",
"signature": "UnityEngineObject.__op_Implicit__UnityEngineObject__SystemBoolean",
"argumentCount": 1,
"return": "__shiras_result_found"
},
{
"op": "JUMP_IF_FALSE",
"operand": "__shiras_continue_0"
},
{
"op": "PUSH",
"operand": "__shiras_result_text"
},
{
"op": "PUSH",
"operand": "__shiras_result_message_0"
},
{
"op": "EXTERN",
"signature": "UnityEngineUIText.__set_text__SystemString__SystemVoid",
"argumentCount": 2
},
{
"op": "JUMP",
"operand": "__shiras_continue_0"
}
]
},
{
"name": "__shiras_continue_0",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "PUSH",
"operand": "__one"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Equality__SystemInt32_SystemInt32__SystemBoolean",
"argumentCount": 2,
"return": "__condition"
},
{
"op": "JUMP_IF_FALSE",
"operand": "_check_even"
},
{
"op": "JUMP",
"operand": "_end"
}
]
},
{
"name": "_check_even",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "PUSH",
"operand": "__two"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Remainder__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__remainder"
},
{
"op": "PUSH",
"operand": "__zero"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Equality__SystemInt32_SystemInt32__SystemBoolean",
"argumentCount": 2,
"return": "__condition"
},
{
"op": "JUMP_IF_FALSE",
"operand": "_odd"
},
{
"op": "JUMP",
"operand": "_even"
}
]
},
{
"name": "_even",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "PUSH",
"operand": "__two"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Division__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__next"
},
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "COPY"
},
{
"op": "JUMP",
"operand": "_loop"
}
]
},
{
"name": "_odd",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "PUSH",
"operand": "__three"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Multiplication__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__triple"
},
{
"op": "PUSH",
"operand": "__one"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__next"
},
{
"op": "PUSH",
"operand": "__n"
},
{
"op": "COPY"
},
{
"op": "JUMP",
"operand": "_loop"
}
]
},
{
"name": "_end",
"export": false,
"instructions": []
}
]
}