Safe Haskell | None |
---|---|
Language | Haskell2010 |
Modula-2 grammar adapted from the ISO specification of the language.
Synopsis
- type Parser = Parser
- data ISOMixin l f p = ISOMixin {
- machineAddress :: p (f (ConstExpression l l f f))
- packedSetType :: p (Type l l f f)
- moduleBody :: p (Block l l f f)
- variableIdentifierList :: p (NonEmpty (f (AddressedIdent l l f f)))
- retryStatement :: p (Statement l l f f)
- arrayConstructor :: p (Expression l l f f)
- recordConstructor :: p (Expression l l f f)
- arrayConstructedValue :: p [f (Item l l f f)]
- recordConstructedValue :: p [f (Expression l l f f)]
- setConstructedValue :: p [f (Element l l f f)]
- arrayPart :: p (Item l l f f)
- structureComponent :: p (f (Expression l l f f))
- isoMixin :: (Modula2 l, LexicalParsing (Parser g Text)) => Modula2Grammar l NodeWrap (Parser g Text) -> ISOMixin l NodeWrap (Parser g Text) -> ISOMixin l NodeWrap (Parser g Text)
- type ISOGrammar l = Product (ISOMixin l NodeWrap) (Modula2Grammar l NodeWrap)
- modula2ISOgrammar :: Grammar (ISOGrammar Language) Parser Text
- isoGrammar :: forall l g. (Modula2 l, LexicalParsing (Parser g Text)) => GrammarBuilder (ISOGrammar l) g Parser Text
- reservedWords :: [Text]
Documentation
The names and types of all the new grammar productions in the ISO specification
ISOMixin | |
|
Instances
isoMixin :: (Modula2 l, LexicalParsing (Parser g Text)) => Modula2Grammar l NodeWrap (Parser g Text) -> ISOMixin l NodeWrap (Parser g Text) -> ISOMixin l NodeWrap (Parser g Text) Source #
The new grammar productions in the ISO specification
type ISOGrammar l = Product (ISOMixin l NodeWrap) (Modula2Grammar l NodeWrap) Source #
isoGrammar :: forall l g. (Modula2 l, LexicalParsing (Parser g Text)) => GrammarBuilder (ISOGrammar l) g Parser Text Source #
All the productions of the ISO Modula-2 grammar
reservedWords :: [Text] Source #