The language definition for the Haskell language.
Moduleparsec-3.1.18.0Haskell2010
Text.ParserCombinators.Parsec.Language
Parsec compatibility module
- 2 types
- 7 values
- Packageparsec-3.1.18.0
- Exports9
- LanguageHaskell2010
- LicenceBSD-2-Clause
- SourceLanguage.hs
A lexer for the Haskell language.
The language definition for the language Mondrian.
A lexer for the Mondrian language.
This is the most minimal token definition. It is recommended to use
this definition as the basis for other definitions. emptyDef has
no reserved names or operators, is case sensitive and doesn't accept
comments, identifiers or operators.
This is a minimal token definition for Haskell style languages. It defines the style of comments, valid identifiers and case sensitivity. It does not define any reserved words or operators.
This is a minimal token definition for Java style languages. It defines the style of comments, valid identifiers and case sensitivity. It does not define any reserved words or operators.
The GenLanguageDef type is a record that contains all parameterizable
features of the Text.Parsec.Token module. The module Text.Parsec.Language
contains some default definitions.
Constructors
LanguageDefcommentStart :: StringDescribes the start of a block comment. Use the empty string if the language doesn't support block comments. For example "/*".
commentEnd :: StringDescribes the end of a block comment. Use the empty string if the language doesn't support block comments. For example "*/".
commentLine :: StringDescribes the start of a line comment. Use the empty string if the language doesn't support line comments. For example "//".
nestedComments :: BoolSet to True if the language supports nested block comments.
identStart :: ParsecT s u m CharThis parser should accept any start characters of identifiers. For example
letter <|> char '_'.identLetter :: ParsecT s u m CharThis parser should accept any legal tail characters of identifiers. For example
alphaNum <|> char '_'.opStart :: ParsecT s u m CharThis parser should accept any start characters of operators. For example
oneOf ":!#$%&*+./<=>?@\\^|-~"opLetter :: ParsecT s u m CharThis parser should accept any legal tail characters of operators. Note that this parser should even be defined if the language doesn't support user-defined operators, or otherwise the reservedOp parser won't work correctly.
reservedNames :: [String]The list of reserved identifiers.
reservedOpNames :: [String]The list of reserved operators.
caseSensitive :: BoolSet to True if the language is case sensitive.