|
|
|
|
Synopsis |
|
|
|
Documentation |
|
|
|
|
Haskell token classifications:
| Constructors | Varid | Variable
| Conid | Constructor
| Varsym | Variable operator
| Consym | Constructor operator
| Reservedid | Reserved keyword
| Reservedop | Reserved operator
| Specialid | | IntLit | Integral numeric literal
| FloatLit | Fractional numeric literal
| CharLit | Character literal
| StringLit | String literal
| Qvarid | Qualified variable
| Qconid | Qualified constructor
| Qvarsym | Qualified variable operator
| Qconsym | Qualified constructor operator
| Special | | Whitespace | White space
| NestedCommentStart | Internal: causes a call to an external function
| NestedComment | A nested comment ({- ... -})
| LiterateComment | Not handled by the lexer
| Commentstart | Dashes
| Comment | The stuff after the dashes
| ErrorToken | | GotEOF | | TheRest | | ModuleName | | ModuleAlias | recognized in a later pass
| Layout | for implicit braces
| Indent Int | <n>, to preceed first token on each line
| Open Int | {n}, after let, where, do or of, if not followed by a "{"
|
|
|
|
|
Tokenize and add position information. Preserves white space,
and does not insert extra tokens due to layout.
|
|
|
Same as lexerPass0, except that it uses the given start position.
|
|
|
The function lexerPass1 handles the part of lexical analysis that
can be done independently of the parser---the tokenization and the
addition of the extra layout tokens <n> and {n}, as specified in
section 9.3 of the revised Haskell 98 Report.
|
|
|
Remove token that are not meaningful (e.g., white space and comments).
|
|
|
This is an implementation of Haskell layout, as specified in
section 9.3 of the revised Haskell 98 report.
This preprocessor inserts the extra <n> and {n} tokens.
|
|
|
The posisiotn within a file.
| Constructors | |
|
|
|
The line and column numbers of a position.
|
|
|
The first column is designated column 1, not 0.
|
|
|
Advance position by a string.
|
|
|
Advance position by a single character.
|
|
Produced by Haddock version 2.6.1 |