Skip to content

Instantly share code, notes, and snippets.

@qoh
Created April 16, 2016 22:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qoh/770fa27e6a8aef60f7509eef619efce4 to your computer and use it in GitHub Desktop.
Save qoh/770fa27e6a8aef60f7509eef619efce4 to your computer and use it in GitHub Desktop.
[
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "1"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "2"
},
"expr": {
"type": "IntNode",
"value": "28"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "3"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "4"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "5"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "6"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "7"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "8"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "9"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "10"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "11"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "12"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "13"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "14"
},
"expr": {
"type": "IntNode",
"value": "29"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "15"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "16"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "17"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "18"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "19"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "20"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "21"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "22"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "23"
},
"expr": {
"type": "IntNode",
"value": "30"
}
},
{
"type": "AssignExprNode",
"varName": "$monthDays",
"arrayIndex": {
"type": "IntNode",
"value": "24"
},
"expr": {
"type": "IntNode",
"value": "31"
}
},
{
"type": "FunctionDeclStmtNode",
"fnName": "isLeapYear",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
}
],
"stmts": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "IntBinaryExprNode",
"op": "%",
"left": {
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "4"
}
},
"right": {
"type": "IntNode",
"value": "0"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"0\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "IntBinaryExprNode",
"op": "%",
"left": {
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "100"
}
},
"right": {
"type": "IntNode",
"value": "0"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "IntBinaryExprNode",
"op": "%",
"left": {
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "400"
}
},
"right": {
"type": "IntNode",
"value": "0"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"0\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
}
],
"package": null
},
{
"type": "FunctionDeclStmtNode",
"fnName": "parseISODate",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"stmts": [
{
"type": "AssignExprNode",
"varName": "%len",
"arrayIndex": null,
"expr": {
"type": "FuncCallExprNode",
"funcName": "strlen",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"callType": "FunctionCall"
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "||",
"left": {
"type": "IntBinaryExprNode",
"op": "<",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "6"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": ">",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "10"
}
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "AssignExprNode",
"varName": "%year",
"arrayIndex": null,
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "0"
},
{
"type": "IntNode",
"value": "4"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
{
"type": "AssignExprNode",
"varName": "%leap",
"arrayIndex": null,
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "FuncCallExprNode",
"funcName": "isLeapYear",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
{
"type": "AssignExprNode",
"varName": "%leapMonth",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "VarNode",
"varName": "%leap",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "12"
}
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "StreqExprNode",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "4"
},
{
"type": "IntNode",
"value": "1"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "StrConstNode",
"str": "\"-\"",
"tag": false
},
"eq": true
},
"ifBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "FuncCallExprNode",
"funcName": "strcmp",
"nameSpace": null,
"args": [
{
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "5"
},
{
"type": "IntNode",
"value": "1"
}
],
"callType": "FunctionCall"
},
{
"type": "StrConstNode",
"str": "\"W\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
},
"ifBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "10"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "IntNode",
"value": "7"
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "6"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "9"
},
{
"type": "IntNode",
"value": "1"
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "8"
}
}
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "IntNode",
"value": "7"
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "6"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "7"
}
}
}
],
"elseBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
]
}
]
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "||",
"left": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "7"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "10"
}
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%month",
"arrayIndex": null,
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "5"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "ConditionalExprNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "10"
}
},
"trueExpr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "8"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "1"
}
}
}
},
{
"type": "LoopStmtNode",
"testExpr": {
"type": "AssignExprNode",
"varName": "%previous",
"arrayIndex": null,
"expr": {
"type": "IntNode",
"value": "1"
}
},
"initExpr": {
"type": "IntBinaryExprNode",
"op": "<",
"left": {
"type": "VarNode",
"varName": "%previous",
"arrayIndex": null
},
"right": {
"type": "VarNode",
"varName": "%month",
"arrayIndex": null
}
},
"endLoopExpr": {
"type": "AssignOpExprNode",
"varName": "%previous",
"arrayIndex": null
},
"loopBlock": [
{
"type": "AssignOpExprNode",
"varName": "%day",
"arrayIndex": null
}
],
"isDoLoop": false
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "5"
},
{
"type": "IntNode",
"value": "3"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "1"
}
}
}
],
"elseBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
]
}
]
}
]
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "FuncCallExprNode",
"funcName": "strcmp",
"nameSpace": null,
"args": [
{
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "4"
},
{
"type": "IntNode",
"value": "1"
}
],
"callType": "FunctionCall"
},
{
"type": "StrConstNode",
"str": "\"W\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
},
"ifBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "IntNode",
"value": "7"
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "5"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "7"
},
{
"type": "IntNode",
"value": "1"
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "8"
}
}
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "7"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "IntNode",
"value": "7"
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "5"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "7"
}
}
}
],
"elseBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
]
}
]
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "||",
"left": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "6"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%month",
"arrayIndex": null,
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "4"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "ConditionalExprNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
},
"trueExpr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "6"
},
{
"type": "IntNode",
"value": "2"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "1"
}
}
}
},
{
"type": "LoopStmtNode",
"testExpr": {
"type": "AssignExprNode",
"varName": "%previous",
"arrayIndex": null,
"expr": {
"type": "IntNode",
"value": "1"
}
},
"initExpr": {
"type": "IntBinaryExprNode",
"op": "<",
"left": {
"type": "VarNode",
"varName": "%previous",
"arrayIndex": null
},
"right": {
"type": "VarNode",
"varName": "%month",
"arrayIndex": null
}
},
"endLoopExpr": {
"type": "AssignOpExprNode",
"varName": "%previous",
"arrayIndex": null
},
"loopBlock": [
{
"type": "AssignOpExprNode",
"varName": "%day",
"arrayIndex": null
}
],
"isDoLoop": false
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "7"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%day",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "4"
},
{
"type": "IntNode",
"value": "3"
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "1"
}
}
}
],
"elseBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
]
}
]
}
]
}
]
},
{
"type": "AssignExprNode",
"varName": "%time",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "1970"
}
},
"right": {
"type": "IntNode",
"value": "31536000"
}
},
"right": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "VarNode",
"varName": "%day",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "86400"
}
}
}
},
{
"type": "LoopStmtNode",
"testExpr": {
"type": "AssignExprNode",
"varName": "%previous",
"arrayIndex": null,
"expr": {
"type": "IntNode",
"value": "1970"
}
},
"initExpr": {
"type": "IntBinaryExprNode",
"op": "<",
"left": {
"type": "VarNode",
"varName": "%previous",
"arrayIndex": null
},
"right": {
"type": "VarNode",
"varName": "%year",
"arrayIndex": null
}
},
"endLoopExpr": {
"type": "AssignOpExprNode",
"varName": "%previous",
"arrayIndex": null
},
"loopBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "FuncCallExprNode",
"funcName": "isLeapYear",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%previous",
"arrayIndex": null
}
],
"callType": "FunctionCall"
},
"ifBlock": [
{
"type": "AssignOpExprNode",
"varName": "%time",
"arrayIndex": null
}
],
"elseBlock": null
}
],
"isDoLoop": false
},
{
"type": "ReturnStmtNode",
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "VarNode",
"varName": "%time",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "0"
}
}
}
],
"package": null
},
{
"type": "FunctionDeclStmtNode",
"fnName": "parseISOTime",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"stmts": [
{
"type": "AssignExprNode",
"varName": "%len",
"arrayIndex": null,
"expr": {
"type": "FuncCallExprNode",
"funcName": "strlen",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"callType": "FunctionCall"
}
},
{
"type": "AssignExprNode",
"varName": "%offset",
"arrayIndex": null,
"expr": {
"type": "IntNode",
"value": "7200"
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "5"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "FuncCallExprNode",
"funcName": "strcmp",
"nameSpace": null,
"args": [
{
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "1"
}
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
},
{
"type": "StrConstNode",
"str": "\"Z\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%offset",
"arrayIndex": null,
"expr": {
"type": "IntNode",
"value": "0"
}
},
{
"type": "AssignOpExprNode",
"varName": "%len",
"arrayIndex": null
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "7"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%dir",
"arrayIndex": {
"type": "StrConstNode",
"str": "\"+\"",
"tag": false
},
"expr": {
"type": "IntNode",
"value": "1"
}
},
{
"type": "AssignExprNode",
"varName": "%dir",
"arrayIndex": {
"type": "StrConstNode",
"str": "\"-\"",
"tag": false
},
"expr": {
"type": "FloatUnaryExprNode",
"op": "-",
"expr": {
"type": "IntNode",
"value": "1"
}
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "AssignExprNode",
"varName": "%dir",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "VarNode",
"varName": "%dir",
"arrayIndex": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "3"
}
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
"right": {
"type": "IntNode",
"value": "0"
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%offset",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "VarNode",
"varName": "%dir",
"arrayIndex": null
},
"right": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "2"
}
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "3600"
}
}
},
{
"type": "AssignOpExprNode",
"varName": "%len",
"arrayIndex": null
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "9"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "AssignExprNode",
"varName": "%dir",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "VarNode",
"varName": "%dir",
"arrayIndex": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "5"
}
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%offset",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "VarNode",
"varName": "%dir",
"arrayIndex": null
},
"right": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "4"
}
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "3600"
}
},
"right": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "2"
}
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "60"
}
}
}
}
},
{
"type": "AssignOpExprNode",
"varName": "%len",
"arrayIndex": null
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "10"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "AssignExprNode",
"varName": "%dir",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "VarNode",
"varName": "%dir",
"arrayIndex": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "6"
}
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
}
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
"right": {
"type": "IntNode",
"value": "0"
}
}
},
"ifBlock": [
{
"type": "AssignExprNode",
"varName": "%offset",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "VarNode",
"varName": "%dir",
"arrayIndex": null
},
"right": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "5"
}
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "3600"
}
},
"right": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "-",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "2"
}
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "60"
}
}
}
}
},
{
"type": "AssignOpExprNode",
"varName": "%len",
"arrayIndex": null
}
],
"elseBlock": null
}
]
}
]
}
],
"elseBlock": null
}
]
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "||",
"left": {
"type": "IntBinaryExprNode",
"op": "<",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "4"
}
},
"right": {
"type": "IntBinaryExprNode",
"op": ">",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "12"
}
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "AssignExprNode",
"varName": "%time",
"arrayIndex": null,
"expr": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "VarNode",
"varName": "%offset",
"arrayIndex": null
},
"right": {
"type": "FloatBinaryExprNode",
"op": "*",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "StrConstNode",
"str": "\"0\"",
"tag": false
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "IntNode",
"value": "3600"
}
}
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "5"
}
},
"right": {
"type": "StreqExprNode",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "StrConstNode",
"str": "\"2\"",
"tag": false
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "StrConstNode",
"str": "\":\"",
"tag": false
},
"eq": true
}
},
"ifBlock": [
{
"type": "AssignOpExprNode",
"varName": "%time",
"arrayIndex": null
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
},
"right": {
"type": "StreqExprNode",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "StrConstNode",
"str": "\"5\"",
"tag": false
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "StrConstNode",
"str": "\":\"",
"tag": false
},
"eq": true
}
},
"ifBlock": [
{
"type": "AssignOpExprNode",
"varName": "%time",
"arrayIndex": null
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "12"
}
},
"right": {
"type": "StreqExprNode",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "StrConstNode",
"str": "\"8\"",
"tag": false
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "StrConstNode",
"str": "\".\"",
"tag": false
},
"eq": true
}
},
"ifBlock": [],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "8"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
}
]
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "5"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
}
]
}
],
"elseBlock": [
{
"type": "AssignOpExprNode",
"varName": "%time",
"arrayIndex": null
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": ">=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "6"
}
},
"ifBlock": [
{
"type": "AssignOpExprNode",
"varName": "%time",
"arrayIndex": null
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "&&",
"left": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "10"
}
},
"right": {
"type": "StreqExprNode",
"left": {
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "StrConstNode",
"str": "\"6\"",
"tag": false
},
{
"type": "StrConstNode",
"str": "\"1\"",
"tag": false
}
],
"callType": "FunctionCall"
},
"right": {
"type": "StrConstNode",
"str": "\".\"",
"tag": false
},
"eq": true
}
},
"ifBlock": [],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "6"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
}
]
}
],
"elseBlock": [
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "!=",
"left": {
"type": "VarNode",
"varName": "%len",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "4"
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
}
]
}
]
},
{
"type": "ReturnStmtNode",
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "VarNode",
"varName": "%time",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "0"
}
}
}
],
"package": null
},
{
"type": "FunctionDeclStmtNode",
"fnName": "parseISODateTime",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"stmts": [
{
"type": "AssignExprNode",
"varName": "%sep",
"arrayIndex": null,
"expr": {
"type": "FuncCallExprNode",
"funcName": "strpos",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "StrConstNode",
"str": "\"T\"",
"tag": false
}
],
"callType": "FunctionCall"
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "IntBinaryExprNode",
"op": "==",
"left": {
"type": "VarNode",
"varName": "%sep",
"arrayIndex": null
},
"right": {
"type": "FloatUnaryExprNode",
"op": "-",
"expr": {
"type": "IntNode",
"value": "1"
}
}
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "FuncCallExprNode",
"funcName": "parseISODate",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"callType": "FunctionCall"
}
}
],
"elseBlock": null
},
{
"type": "AssignExprNode",
"varName": "%date",
"arrayIndex": null,
"expr": {
"type": "FuncCallExprNode",
"funcName": "parseISODate",
"nameSpace": null,
"args": [
{
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "IntNode",
"value": "0"
},
{
"type": "VarNode",
"varName": "%sep",
"arrayIndex": null
}
],
"callType": "FunctionCall"
}
],
"callType": "FunctionCall"
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "StreqExprNode",
"left": {
"type": "VarNode",
"varName": "%date",
"arrayIndex": null
},
"right": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
},
"eq": true
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "AssignExprNode",
"varName": "%time",
"arrayIndex": null,
"expr": {
"type": "FuncCallExprNode",
"funcName": "parseISODate",
"nameSpace": null,
"args": [
{
"type": "FuncCallExprNode",
"funcName": "getSubStr",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
},
{
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "VarNode",
"varName": "%sep",
"arrayIndex": null
},
"right": {
"type": "IntNode",
"value": "1"
}
},
{
"type": "FuncCallExprNode",
"funcName": "strlen",
"nameSpace": null,
"args": [
{
"type": "VarNode",
"varName": "%str",
"arrayIndex": null
}
],
"callType": "FunctionCall"
}
],
"callType": "FunctionCall"
}
],
"callType": "FunctionCall"
}
},
{
"type": "IfStmtNode",
"testExpr": {
"type": "StreqExprNode",
"left": {
"type": "VarNode",
"varName": "%time",
"arrayIndex": null
},
"right": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
},
"eq": true
},
"ifBlock": [
{
"type": "ReturnStmtNode",
"expr": {
"type": "StrConstNode",
"str": "\"\"",
"tag": false
}
}
],
"elseBlock": null
},
{
"type": "ReturnStmtNode",
"expr": {
"type": "IntBinaryExprNode",
"op": "|",
"left": {
"type": "FloatBinaryExprNode",
"op": "+",
"left": {
"type": "VarNode",
"varName": "%date",
"arrayIndex": null
},
"right": {
"type": "VarNode",
"varName": "%time",
"arrayIndex": null
}
},
"right": {
"type": "IntNode",
"value": "0"
}
}
}
],
"package": null
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment