equal
deleted
inserted
replaced
83 | InitNumber String |
83 | InitNumber String |
84 | InitHexNumber String |
84 | InitHexNumber String |
85 | InitString String |
85 | InitString String |
86 | InitChar String |
86 | InitChar String |
87 | BuiltInFunction String [InitExpression] |
87 | BuiltInFunction String [InitExpression] |
|
88 | InitSet [Identifier] |
88 | InitNull |
89 | InitNull |
89 deriving Show |
90 deriving Show |
90 |
91 |
91 builtin = ["succ", "pred", "low", "high"] |
92 builtin = ["succ", "pred", "low", "high"] |
92 |
93 |
575 |
576 |
576 initExpression = buildExpressionParser table term <?> "initialization expression" |
577 initExpression = buildExpressionParser table term <?> "initialization expression" |
577 where |
578 where |
578 term = comments >> choice [ |
579 term = comments >> choice [ |
579 liftM (uncurry BuiltInFunction) $ builtInFunction initExpression |
580 liftM (uncurry BuiltInFunction) $ builtInFunction initExpression |
|
581 , try $ brackets pas (commaSep pas $ iD) >>= return . InitSet |
580 , try $ parens pas (commaSep pas $ initExpression) >>= return . InitArray |
582 , try $ parens pas (commaSep pas $ initExpression) >>= return . InitArray |
581 , parens pas (semiSep pas $ recField) >>= return . InitRecord |
583 , parens pas (semiSep pas $ recField) >>= return . InitRecord |
582 , try $ integer pas >>= \i -> notFollowedBy (char '.') >> (return . InitNumber . show) i |
584 , try $ integer pas >>= \i -> notFollowedBy (char '.') >> (return . InitNumber . show) i |
583 , try $ float pas >>= return . InitFloat . show |
585 , try $ float pas >>= return . InitFloat . show |
584 , try $ integer pas >>= return . InitNumber . show |
586 , try $ integer pas >>= return . InitNumber . show |