{"type":"Program","items":[{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":0}],"initLists":[{"type":"InitList","declarator":{"type":"ArrayDeclarator","declarator":{"type":"ArrayDeclarator","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"a","tokenId":1}},"expr":{"type":"IntegerConstant","value":10,"tokenId":3}},"expr":{"type":"IntegerConstant","value":20,"tokenId":6}},"exprs":[]}]},{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":9}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"b","tokenId":10}},"exprs":[{"type":"IntegerConstant","value":1,"tokenId":12}]}]},{"type":"FunctionDefine","specifiers":[{"type":"Token","value":"int","tokenId":14}],"declarator":{"type":"FunctionDeclarator","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"f1","tokenId":15}},"params":[{"type":"ParamsDeclarator","specfiers":[{"type":"Token","value":"int","tokenId":17}],"declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"x","tokenId":18}}},{"type":"ParamsDeclarator","specfiers":[{"type":"Token","value":"int","tokenId":20}],"declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"y","tokenId":21}}}]},"body":{"type":"CompoundStatement","blockItems":[{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":24}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"z","tokenId":25}},"exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"+","tokenId":28},"expr1":{"type":"Identifier","value":"x","tokenId":27},"expr2":{"type":"Identifier","value":"y","tokenId":29}}]}]},{"type":"ReturnStatement","expr":[{"type":"Identifier","value":"z","tokenId":32}]}]}},{"type":"FunctionDefine","specifiers":[{"type":"Token","value":"void","tokenId":35}],"declarator":{"type":"FunctionDeclarator","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"f2","tokenId":36}},"params":[]},"body":{"type":"CompoundStatement","blockItems":[{"type":"ReturnStatement","expr":null}]}},{"type":"FunctionDefine","specifiers":[{"type":"Token","value":"int","tokenId":43}],"declarator":{"type":"FunctionDeclarator","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"main","tokenId":44}},"params":[]},"body":{"type":"CompoundStatement","blockItems":[{"type":"ExpressionStatement","exprs":[{"type":"ArrayAccess","arrayName":{"type":"ArrayAccess","arrayName":{"type":"Identifier","value":"a","tokenId":48},"elements":[{"type":"IntegerConstant","value":2,"tokenId":50}]},"elements":[{"type":"IntegerConstant","value":3,"tokenId":53}]}]},{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":56}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"a1","tokenId":57}},"exprs":[{"type":"IntegerConstant","value":1,"tokenId":59}]}]},{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":61}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"a2","tokenId":62}},"exprs":[{"type":"IntegerConstant","value":2,"tokenId":64}]}]},{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":66}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"res","tokenId":67}},"exprs":[]}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":70},"expr1":{"type":"Identifier","value":"res","tokenId":69},"expr2":{"type":"UnaryExpression","op":{"type":"Token","value":"!","tokenId":71},"expr":{"type":"Identifier","value":"a1","tokenId":72}}}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":75},"expr1":{"type":"Identifier","value":"res","tokenId":74},"expr2":{"type":"UnaryExpression","op":{"type":"Token","value":"~","tokenId":76},"expr":{"type":"Identifier","value":"a1","tokenId":77}}}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":80},"expr1":{"type":"Identifier","value":"res","tokenId":79},"expr2":{"type":"BinaryExpression","op":{"type":"Token","value":"+","tokenId":82},"expr1":{"type":"Identifier","value":"a1","tokenId":81},"expr2":{"type":"Identifier","value":"a2","tokenId":83}}}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":86},"expr1":{"type":"Identifier","value":"res","tokenId":85},"expr2":{"type":"BinaryExpression","op":{"type":"Token","value":"%","tokenId":88},"expr1":{"type":"Identifier","value":"a1","tokenId":87},"expr2":{"type":"Identifier","value":"a2","tokenId":89}}}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":92},"expr1":{"type":"Identifier","value":"res","tokenId":91},"expr2":{"type":"BinaryExpression","op":{"type":"Token","value":"<<","tokenId":94},"expr1":{"type":"Identifier","value":"a1","tokenId":93},"expr2":{"type":"Identifier","value":"a2","tokenId":95}}}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":98},"expr1":{"type":"Identifier","value":"res","tokenId":97},"expr2":{"type":"PostfixExpression","expr":{"type":"Identifier","value":"a1","tokenId":99},"op":{"type":"Token","value":"++","tokenId":100}}}]},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":103},"expr1":{"type":"Identifier","value":"res","tokenId":102},"expr2":{"type":"UnaryExpression","op":{"type":"Token","value":"++","tokenId":104},"expr":{"type":"Identifier","value":"a1","tokenId":105}}}]},{"type":"SelectionStatement","cond":[{"type":"BinaryExpression","op":{"type":"Token","value":"&&","tokenId":110},"expr1":{"type":"Identifier","value":"a1","tokenId":109},"expr2":{"type":"Identifier","value":"a2","tokenId":111}}],"then":{"type":"CompoundStatement","blockItems":[{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":115},"expr1":{"type":"Identifier","value":"res","tokenId":114},"expr2":{"type":"FunctionCall","funcname":{"type":"Identifier","value":"f1","tokenId":116},"argList":[{"type":"Identifier","value":"a1","tokenId":118},{"type":"Identifier","value":"a2","tokenId":120}]}}]}]},"otherwise":{"type":"SelectionStatement","cond":[{"type":"UnaryExpression","op":{"type":"Token","value":"!","tokenId":127},"expr":{"type":"Identifier","value":"a1","tokenId":128}}],"then":{"type":"CompoundStatement","blockItems":[{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"=","tokenId":132},"expr1":{"type":"Identifier","value":"res","tokenId":131},"expr2":{"type":"FunctionCall","funcname":{"type":"Identifier","value":"f1","tokenId":133},"argList":[{"type":"Identifier","value":"b","tokenId":135},{"type":"Identifier","value":"a2","tokenId":137}]}}]}]},"otherwise":{"type":"CompoundStatement","blockItems":[{"type":"ExpressionStatement","exprs":[{"type":"FunctionCall","funcname":{"type":"Identifier","value":"f2","tokenId":143},"argList":[]}]}]}}},{"type":"IterationDeclaredStatement","init":{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":150}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"i","tokenId":151}},"exprs":[{"type":"IntegerConstant","value":0,"tokenId":153}]}]},"cond":[{"type":"BinaryExpression","op":{"type":"Token","value":"<","tokenId":156},"expr1":{"type":"Identifier","value":"i","tokenId":155},"expr2":{"type":"Identifier","value":"a1","tokenId":157}}],"step":[{"type":"PostfixExpression","expr":{"type":"Identifier","value":"i","tokenId":159},"op":{"type":"Token","value":"++","tokenId":160}}],"stat":{"type":"CompoundStatement","blockItems":[{"type":"IterationDeclaredStatement","init":{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":165}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"j","tokenId":166}},"exprs":[{"type":"IntegerConstant","value":0,"tokenId":168}]}]},"cond":[{"type":"BinaryExpression","op":{"type":"Token","value":"<","tokenId":171},"expr1":{"type":"Identifier","value":"j","tokenId":170},"expr2":{"type":"Identifier","value":"a1","tokenId":172}}],"step":[{"type":"PostfixExpression","expr":{"type":"Identifier","value":"j","tokenId":174},"op":{"type":"Token","value":"++","tokenId":175}}],"stat":{"type":"CompoundStatement","blockItems":[{"type":"ExpressionStatement","exprs":[{"type":"ArrayAccess","arrayName":{"type":"ArrayAccess","arrayName":{"type":"Identifier","value":"a","tokenId":178},"elements":[{"type":"Identifier","value":"i","tokenId":180}]},"elements":[{"type":"Identifier","value":"j","tokenId":183}]}]},{"type":"BreakStatement"}]}},{"type":"ContinueStatement"}]}},{"type":"IterationDeclaredStatement","init":{"type":"Declaration","specifiers":[{"type":"Token","value":"int","tokenId":194}],"initLists":[{"type":"InitList","declarator":{"type":"VariableDeclarator","identifier":{"type":"Identifier","value":"i","tokenId":195}},"exprs":[{"type":"IntegerConstant","value":0,"tokenId":197}]}]},"cond":[{"type":"BinaryExpression","op":{"type":"Token","value":"<","tokenId":200},"expr1":{"type":"Identifier","value":"i","tokenId":199},"expr2":{"type":"Identifier","value":"a1","tokenId":201}}],"step":[{"type":"PostfixExpression","expr":{"type":"Identifier","value":"i","tokenId":203},"op":{"type":"Token","value":"++","tokenId":204}}],"stat":{"type":"CompoundStatement","blockItems":[{"type":"BreakStatement"},{"type":"ContinueStatement"},{"type":"ExpressionStatement","exprs":[{"type":"BinaryExpression","op":{"type":"Token","value":"+=","tokenId":212},"expr1":{"type":"Identifier","value":"res","tokenId":211},"expr2":{"type":"IntegerConstant","value":1,"tokenId":213}}]}]}},{"type":"LabeledStatement","label":{"type":"Identifier","value":"k","tokenId":216},"stat":{"type":"GotoStatement","label":{"type":"Identifier","value":"k","tokenId":219}}},{"type":"ReturnStatement","expr":[{"type":"IntegerConstant","value":0,"tokenId":222}]}]}}]}