parsec1-1.0.0.6: Portable monadic parser combinators

Copyright(c) Daan Leijen 1999-2001
LicenseBSD-style (see the file libraries/parsec/LICENSE)
MaintainerAntoine Latter <aslatter@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

Text.ParserCombinators.Parsec

Description

Parsec, the Fast Monadic Parser combinator library, see http://www.cs.uu.nl/people/daan/parsec.html.

Inspired by:

  • Graham Hutton and Erik Meijer: Monadic Parser Combinators. Technical report NOTTCS-TR-96-4. Department of Computer Science, University of Nottingham, 1996. http://www.cs.nott.ac.uk/~gmh/monparsing.ps
  • Andrew Partridge, David Wright: Predictive parser combinators need four values to report errors. Journal of Functional Programming 6(2): 355-364, 1996

This helper module exports elements from the basic libraries.

Synopsis

Documentation

data ParseError Source

The abstract data type ParseError represents parse errors. It provides the source position (SourcePos) of the error and a list of error messages (Message). A ParseError can be returned by the function parse. ParseError is an instance of the Show class.

Instances

errorPos :: ParseError -> SourcePos Source

Extracts the source position from the parse error

data SourcePos Source

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.

type Line = Int Source

sourceName :: SourcePos -> SourceName Source

Extracts the name of the source from a source position.

sourceLine :: SourcePos -> Line Source

Extracts the line number from a source position.

sourceColumn :: SourcePos -> Column Source

Extracts the column number from a source position.

incSourceLine :: SourcePos -> Line -> SourcePos Source

Increments the line number of a source position.

incSourceColumn :: SourcePos -> Column -> SourcePos Source

Increments the column number of a source position.

setSourceLine :: SourcePos -> Line -> SourcePos Source

Set the line number of a source position.

setSourceColumn :: SourcePos -> Column -> SourcePos Source

Set the column number of a source position.

setSourceName :: SourcePos -> SourceName -> SourcePos Source

Set the name of the source.