tools/pas2c/PascalParser.hs
branchwebgl
changeset 9954 bf51bc7e2808
parent 9166 3774ac58e65e
child 10111 459bc720cea1
--- 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