tools/pas2c.hs
changeset 7054 7e8fb07ef91c
parent 7052 cefb73639f70
child 7055 4c495c8f02da
equal deleted inserted replaced
7053:8c9dcaedc7a8 7054:7e8fb07ef91c
   671     t2 <- gets lastType
   671     t2 <- gets lastType
   672     case (op2C op, t1, t2) of
   672     case (op2C op, t1, t2) of
   673         ("+", BTString, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcat" (BTFunction 2 BTString))
   673         ("+", BTString, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcat" (BTFunction 2 BTString))
   674         ("+", BTString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappend" (BTFunction 2 BTString))
   674         ("+", BTString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappend" (BTFunction 2 BTString))
   675         ("+", BTChar, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strprepend" (BTFunction 2 BTString))
   675         ("+", BTChar, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strprepend" (BTFunction 2 BTString))
   676         ("==", BTString, _) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strcompare" (BTFunction 2 BTBool))
   676         ("==", BTString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strcomparec" (BTFunction 2 BTBool))
       
   677         ("==", BTString, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strcompare" (BTFunction 2 BTBool))
   677         ("!=", BTString, _) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strncompare" (BTFunction 2 BTBool))
   678         ("!=", BTString, _) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strncompare" (BTFunction 2 BTBool))
   678         ("&", BTBool, _) -> return $ parens e1 <+> text "&&" <+> parens e2
   679         ("&", BTBool, _) -> return $ parens e1 <+> text "&&" <+> parens e2
   679         ("|", BTBool, _) -> return $ parens e1 <+> text "||" <+> parens e2
   680         ("|", BTBool, _) -> return $ parens e1 <+> text "||" <+> parens e2
   680         (_, BTRecord t1 _, BTRecord t2 _) -> do
   681         (_, BTRecord t1 _, BTRecord t2 _) -> do
   681             i <- op2CTyped op [SimpleType (Identifier t1 undefined), SimpleType (Identifier t2 undefined)]
   682             i <- op2CTyped op [SimpleType (Identifier t1 undefined), SimpleType (Identifier t2 undefined)]