tools/pas2c/Pas2C.hs
branchtransitional_engine
changeset 16037 72c71c385579
parent 16005 4d682779bd29
equal deleted inserted replaced
16036:96d0e6149d3d 16037:72c71c385579
   713 initExpr2C' (BuiltInFunction "pred" [BuiltInFunction "succ" [e]]) = initExpr2C' e
   713 initExpr2C' (BuiltInFunction "pred" [BuiltInFunction "succ" [e]]) = initExpr2C' e
   714 initExpr2C' (BuiltInFunction "succ" [e]) = 
   714 initExpr2C' (BuiltInFunction "succ" [e]) = 
   715     liftM (parens . (<> text " + 1")) $ initExpr2C' e
   715     liftM (parens . (<> text " + 1")) $ initExpr2C' e
   716 initExpr2C' (BuiltInFunction "pred" [e]) = 
   716 initExpr2C' (BuiltInFunction "pred" [e]) = 
   717     liftM (parens . (<> text " - 1")) $ initExpr2C' e
   717     liftM (parens . (<> text " - 1")) $ initExpr2C' e
       
   718 initExpr2C' (BuiltInFunction "round" [e]) = do
       
   719     e <- initExpr2C' e
       
   720     return $ text "(int)" <> parens e
   718 initExpr2C' b@(BuiltInFunction _ _) = error $ show b
   721 initExpr2C' b@(BuiltInFunction _ _) = error $ show b
   719 initExpr2C' (InitTypeCast t' i) = do
   722 initExpr2C' (InitTypeCast t' i) = do
   720     e <- initExpr2C i
   723     e <- initExpr2C i
   721     t <- id2C IOLookup t'
   724     t <- id2C IOLookup t'
   722     return . parens $ parens t <> e
   725     return . parens $ parens t <> e