1
|
Right (JClass "Main" [JClassVarDec "static" ("boolean","test")] [JSubroutineDec (JSubroutineHeader "function" ("void","main") []) (JSubroutineBody [("SquareGame","game")] [JLetStatment (JVarId "game" Nothing) (JExpCall (JSubroutineCall "SquareGame" (Just "new") [])),JDoStatement (JSubroutineCall "game" (Just "run") []),JDoStatement (JSubroutineCall "game" (Just "dispose") []),JReturnStatement Nothing]),JSubroutineDec (JSubroutineHeader "function" ("void","test") []) (JSubroutineBody [("int","i"),("int","j"),("String","s"),("Array","a")] [JIfStatement (JKeywordConst "false") [JLetStatment (JVarId "s" Nothing) (JStrConst "string constant"),JLetStatment (JVarId "s" Nothing) (JKeywordConst "null"),JLetStatment (JVarId "a" (Just (JIntConst 1))) (JExpVar (JVarId "a" (Just (JIntConst 2))))] (Just [JLetStatment (JVarId "i" Nothing) (JExpBin (JExpVar (JVarId "i" Nothing)) [('*',JExpUna '-' (JExpVar (JVarId "j" Nothing)))]),JLetStatment (JVarId "j" Nothing) (JExpBin (JExpVar (JVarId "j" Nothing)) [('/',JExpUna '-' (JIntConst 2))]),JLetStatment (JVarId "i" Nothing) (JExpBin (JExpVar (JVarId "i" Nothing)) [('|',JExpVar (JVarId "j" Nothing))])]),JReturnStatement Nothing])])
|