|
| Text.Parsec.Pos | | Portability | portable | | Stability | provisional | | Maintainer | derek.a.elkins@gmail.com |
|
|
|
| Description |
| Textual source positions.
|
|
| Synopsis |
|
|
|
| Documentation |
|
| type SourceName = String |
|
| type Line = Int |
|
| type Column = Int |
|
| data SourcePos |
| The abstract data type SourcePos represents source positions. It
contains the name of the source (i.e. file name), a line number and
a column number. SourcePos is an instance of the Show, Eq and
Ord class.
| Instances | |
|
|
| sourceLine :: SourcePos -> Line |
| Extracts the line number from a source position.
|
|
| sourceColumn :: SourcePos -> Column |
| Extracts the column number from a source position.
|
|
| sourceName :: SourcePos -> SourceName |
| Extracts the name of the source from a source position.
|
|
| incSourceLine :: SourcePos -> Line -> SourcePos |
| Increments the line number of a source position.
|
|
| incSourceColumn :: SourcePos -> Column -> SourcePos |
| Increments the column number of a source position.
|
|
| setSourceLine :: SourcePos -> Line -> SourcePos |
| Set the line number of a source position.
|
|
| setSourceColumn :: SourcePos -> Column -> SourcePos |
| Set the column number of a source position.
|
|
| setSourceName :: SourcePos -> SourceName -> SourcePos |
| Set the name of the source.
|
|
| newPos :: SourceName -> Line -> Column -> SourcePos |
| Create a new SourcePos with the given source name,
line number and column number.
|
|
| initialPos :: SourceName -> SourcePos |
| Create a new SourcePos with the given source name,
and line number and column number set to 1, the upper left.
|
|
| updatePosChar :: SourcePos -> Char -> SourcePos |
| Update a source position given a character. If the character is a
newline ('\n') or carriage return ('\r') the line number is
incremented by 1. If the character is a tab ('t') the column
number is incremented to the nearest 8'th column, ie. column + 8 -
((column-1) `mod` 8). In all other cases, the column is
incremented by 1.
|
|
| updatePosString :: SourcePos -> String -> SourcePos |
| The expression updatePosString pos s updates the source position
pos by calling updatePosChar on every character in s, ie.
foldl updatePosChar pos string.
|
|
| Produced by Haddock version 2.1.0 |