input-parsers-0.2: Extension of the parsers library with more capability and efficiency
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.Parser.Input.Position

Description

A parser's position in the input.

Synopsis

Documentation

class Position p Source #

A class for representing position values.

move (distance pos1 pos2) pos1 == pos2

Minimal complete definition

distance, move, offset

Instances

Instances details
Position Int Source # 
Instance details

Defined in Text.Parser.Input.Position

Methods

distance :: Int -> Int -> Int

move :: Int -> Int -> Int

offset :: FactorialMonoid s => s -> Int -> Int Source #

Position a => Position (Dual a) Source # 
Instance details

Defined in Text.Parser.Input.Position

Methods

distance :: Dual a -> Dual a -> Int

move :: Int -> Dual a -> Dual a

offset :: FactorialMonoid s => s -> Dual a -> Int Source #

fromStart :: Int -> Int Source #

Construct a Position given the offset from the beginning of the full input.

fromEnd :: Int -> Dual Int Source #

Construct a Position given the length remaining from the position to the end of the input.

offset :: (Position p, FactorialMonoid s) => s -> p -> Int Source #

Map the position into its offset from the beginning of the full input.

context :: (Eq s, TextualMonoid s, Position p) => s -> p -> Int -> s Source #

Given the parser input, a Position within it, and desired number of context lines, returns a description of the offset position in English.

lineAndColumn :: (Eq s, IsString s, FactorialMonoid s, Position p) => s -> p -> ([s], Int) Source #

Given the full input and an offset within it, returns all the input lines up to and including the offset in reverse order, as well as the zero-based column number of the offset