Intermediate JSON code: Link:
Intermediate format{
"types": {
"int": [ "basic",2] ,
"void": [ "basic",0] ,
"char": [ "basic",1] ,
"float": [ "basic",4] ,
"bool": [ "basic",1] ,
"array-of-chars": [ "array",0,"char"] ,
"-none-": [ "basic",2] ,
"_tt1": [ "pt",2,"_tt2"] ,
"_tt2": [ "function",2,{ "_nn1": "int","_nn2": "int"} ,"int"] ,
"_tt3": [ "array",16,"int"] ,
"_tt4": [ "pt",2,"int"] ,
"tt": [ "struct",4,{ "r1": "int","r2": "int"} ] ,
"_tt5": [ "pt",2,"tt"] } ,
"globals": { "f2p": "_tt1","n": "int","ar": "_tt3","i": "int"} ,
"functions": [{"function": "sum","par": { "num1": "int","num2": "int"} ,
"return": "int","mod": [ ],"body":
[ { "var": { } } ,
{ "return": [ "int","num1","+","num2"] } ]
}
,
{"function": "func5","par": { "a": "int","b": "int","c": "int","d": "int","e": "int"} ,
"return": "int","mod": [ ],"body":
[ { "var": { } } ]
}
,
{"function": "main","par": { "op1": "int","op2": "_tt4"} ,
"return": "int","mod": [ ],"body":
[ { "var": { } } ,
[ "",[ "int","*","op2"] ,"=",[ "int","func5",[ [ "int","ar",":","op1"] ,
"n",[ "int","sum",[ 1,2] ] ,45,[ "int","sum",[ [ "int","ar",":","n"] ,
"n"] ] ] ] ] ,
[ "","f2p","=",{ "function": "sum"} ] ,
[ "","op1","=",[ "int",[ "_tt2","*","f2p"] ,[ 10,13] ] ] ,
{ "return": "op1"} ]
}
,
{"function": "test","par": { "p": "_tt5"} ,
"return": "void","mod": [ ],"body":
[ { "var": { } } ,
{ "if": [ "bool","i","==",5] ,
"then": [ [ "","i","=",23] ] ,
"else": [ [ "",[ "int","ar",":","i"] ,"=",22] ] } ]
}
,
{"function": "eliminate","par": { } ,
"return": "void","mod": [ ],"body":
[ { "var": { "a": "int","b": "int","c": "int","t1": "int","t2": "int","t3": "int"} } ,
[ "","t1","=","a"] ,
[ "","t2","=","b"] ,
[ "","t3","=","c"] ,
[ "","a","=","t2"] ,
[ "","b","=","t3"] ,
[ "","c","=","t1"] ]
}
] }
End of JSON code.