tools/pas2c/Pas2C.hs
changeset 13349 4f9108f82879
parent 13311 806347b3c978
child 13824 db1b680bd8d3
equal deleted inserted replaced
13348:93325e13d329 13349:4f9108f82879
   956     e2 <- expr2C expr2
   956     e2 <- expr2C expr2
   957     t2 <- gets lastType
   957     t2 <- gets lastType
   958     case (op2C op, t1, t2) of
   958     case (op2C op, t1, t2) of
   959         ("+", BTAString, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcatA" (fff t1 t2 BTString))
   959         ("+", BTAString, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcatA" (fff t1 t2 BTString))
   960         ("+", BTAString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappendA" (fff t1 t2  BTAString))
   960         ("+", BTAString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappendA" (fff t1 t2  BTAString))
       
   961         ("+", BTChar, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strprependA" (fff t1 t2  BTAString))
   961         ("!=", BTAString, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strncompareA" (fff t1 t2  BTBool))
   962         ("!=", BTAString, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strncompareA" (fff t1 t2  BTBool))
   962         (_, BTAString, _) -> error $ "unhandled bin op with ansistring on the left side: " ++ show bop
   963         (_, BTAString, _) -> error $ "unhandled bin op with ansistring on the left side: " ++ show bop
   963         (_, _, BTAString) -> error $ "unhandled bin op with ansistring on the right side: " ++ show bop
   964         (_, _, BTAString) -> error $ "unhandled bin op with ansistring on the right side: " ++ show bop
   964         ("+", BTString, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcat" (fff t1 t2  BTString))
   965         ("+", BTString, BTString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcat" (fff t1 t2  BTString))
   965         ("+", BTString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappend" (fff t1 t2  BTString))
   966         ("+", BTString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappend" (fff t1 t2  BTString))