Idris2Doc : Text.Lex.Core

Text.Lex.Core

(source)
A simple library of lexers and their combinators. A `Lexer` is
just a (dependent) function, which is guaranteed to consume a non-empty
prefix of the input list of characters.

As such, high-performance lexers can be written manually, while
many convenient combinators exist for less performance-critical
applications.

Reexports

importpublic Data.List
importpublic Data.SnocList
importpublic Data.Vect
importpublic Text.Bounds
importpublic Text.ParseError
importpublic Text.Lex.Shift

Definitions

dataRecognise : Bool->Type
Totality: total
Visibility: public export
Constructors:
Lift : Shifterb->Recogniseb
(<+>) : Recogniseb1->Recogniseb2->Recognise (b1|| Delay b2)
(<++>) : RecogniseTrue-> Inf (Recogniseb) ->RecogniseTrue
(<|>) : Recogniseb1-> Lazy (Recogniseb2) ->Recognise (b1&& Delay b2)
swapOr : Recognise (x|| Delay y) ->Recognise (y|| Delay x)
Totality: total
Visibility: public export
orSame : Recognise (x|| Delay x) ->Recognisex
Totality: total
Visibility: public export
orTrue : Recognise (x|| Delay True) ->RecogniseTrue
Totality: total
Visibility: public export
orFalse : Recognise (x|| Delay False) ->Recognisex
Totality: total
Visibility: public export
swapAnd : Recognise (x&& Delay y) ->Recognise (y&& Delay x)
Totality: total
Visibility: public export
andSame : Recognise (x&& Delay x) ->Recognisex
Totality: total
Visibility: public export
andTrue : Recognise (x&& Delay True) ->Recognisex
Totality: total
Visibility: public export
andFalse : Recognise (x&& Delay False) ->RecogniseFalse
Totality: total
Visibility: public export
autoLift : AutoShiftb->Recogniseb
Totality: total
Visibility: public export
0Lexer : Type
  Alias for `Recognise True Char`.

Totality: total
Visibility: public export
run : Recogniseb-> (st : SnocListChar) -> (ts : ListChar) -> (0_ : SuffixAccts) ->ShiftResbstts
Totality: total
Visibility: public export
empty : RecogniseFalse
  Lexer succeeding always without consuming input

Totality: total
Visibility: public export
opt : RecogniseTrue->RecogniseFalse
  Renders the given lexer optional.

Totality: total
Visibility: public export
expect : Recogniseb->RecogniseFalse
  Positive look-ahead. Does not consume any input.

Totality: total
Visibility: public export
reject : Recogniseb->RecogniseFalse
  Negative look-ahead. Does not consume any input.

Totality: total
Visibility: public export
seqSame : Recogniseb->Recogniseb->Recogniseb
Totality: total
Visibility: public export
altSame : Recogniseb->Recogniseb->Recogniseb
Totality: total
Visibility: public export
fail : RecogniseTrue
  The lexer which always fails.

Totality: total
Visibility: public export
many : RecogniseTrue->RecogniseFalse
  Runs the given lexer zero or more times.

Totality: total
Visibility: public export
some : RecogniseTrue->RecogniseTrue
  Runs the given lexer several times, but at least once.

Totality: total
Visibility: public export
pred : (Char->Bool) ->RecogniseTrue
  Lexer consuming one item if it fulfills the given predicate.

Totality: total
Visibility: public export
preds : (Char->Bool) ->RecogniseTrue
  Lexer consuming items while they fulfill the given predicate.
This is an optimized version of `some . pred`.

Totality: total
Visibility: public export
preds0 : (Char->Bool) ->RecogniseFalse
  Recogniser consuming items while they fulfill the given predicate.
This is an optimized version of `many . pred`.

Totality: total
Visibility: public export
concatMap : (a->Recognisec) -> (xs : Lista) -> {auto0_ : NonEmptyxs} ->Recognisec
Totality: total
Visibility: public export
choiceMap : Foldablet=> (a->RecogniseTrue) ->ta->RecogniseTrue
Totality: total
Visibility: public export
choice : Foldablet=>t (RecogniseTrue) ->RecogniseTrue
Totality: total
Visibility: public export
0TokenMap : Type->Type
Totality: total
Visibility: public export
step : RecogniseTrue-> (SnocListChar->a) ->TokTrueea
Totality: total
Visibility: public export
first : (ps : TokenMapa) -> {auto0_ : NonEmptyps} ->TokTrueea
Totality: total
Visibility: public export