tools/pas2c.hs
changeset 7046 acc6b5159cde
parent 7043 7c080e5ac8d0
child 7052 cefb73639f70
equal deleted inserted replaced
7045:197bf70f8599 7046:acc6b5159cde
   468 initExpr2C (InitChar a) = return $ quotes $ text "\\x" <> text (showHex (read a) "")
   468 initExpr2C (InitChar a) = return $ quotes $ text "\\x" <> text (showHex (read a) "")
   469 initExpr2C (InitReference i) = id2C IOLookup i
   469 initExpr2C (InitReference i) = id2C IOLookup i
   470 initExpr2C (InitRecord fields) = do
   470 initExpr2C (InitRecord fields) = do
   471     (fs :: [Doc]) <- mapM (\(Identifier a _, b) -> liftM (text "." <> text a <+> equals <+>) $ initExpr2C b) fields
   471     (fs :: [Doc]) <- mapM (\(Identifier a _, b) -> liftM (text "." <> text a <+> equals <+>) $ initExpr2C b) fields
   472     return $ lbrace $+$ (nest 4 . vcat . punctuate comma $ fs) $+$ rbrace
   472     return $ lbrace $+$ (nest 4 . vcat . punctuate comma $ fs) $+$ rbrace
   473 initExpr2C (InitArray [value]) = initExpr2C value
   473 --initExpr2C (InitArray [value]) = initExpr2C value
   474 initExpr2C (InitArray values) = liftM (braces . vcat . punctuate comma) $ mapM initExpr2C values
   474 initExpr2C (InitArray values) = liftM (braces . vcat . punctuate comma) $ mapM initExpr2C values
   475 initExpr2C r@(InitRange (Range i@(Identifier i' _))) = do
   475 initExpr2C r@(InitRange (Range i@(Identifier i' _))) = do
   476     id2C IOLookup i
   476     id2C IOLookup i
   477     t <- gets lastType
   477     t <- gets lastType
   478     case t of
   478     case t of