--- a/tools/pas2c/PascalParser.hs Sun Jan 05 00:46:26 2014 +0400
+++ b/tools/pas2c/PascalParser.hs Sun Jan 05 10:54:03 2014 +0400
@@ -579,7 +579,7 @@
term = comments >> choice [
liftM (uncurry BuiltInFunction) $ builtInFunction initExpression
, try $ brackets pas (commaSep pas $ initExpression) >>= return . InitSet
- , try $ parens pas (commaSep pas $ initExpression) >>= \ia -> when (null $ tail ia) mzero >> return (InitArray ia)
+ , try $ parens pas (commaSep pas $ initExpression) >>= \ia -> when ((notRecord $ head ia) && (null $ tail ia)) mzero >> return (InitArray ia)
, try $ parens pas (sepEndBy recField (char ';' >> comments)) >>= return . InitRecord
, parens pas initExpression
, try $ integer pas >>= \i -> notFollowedBy (char '.') >> (return . InitNumber . show) i
@@ -594,6 +594,9 @@
, iD >>= return . InitReference
]
+ notRecord (InitRecord _) = False
+ notRecord _ = True
+
recField = do
i <- iD
spaces