Idris2Doc : TyRE.Text.Lexer.Core

TyRE.Text.Lexer.Core

(source)
This is a slightly modified copy of the same module from `contrib` package.

Reexports

importpublic Control.Delayed
importpublic Data.Bool
importpublic Data.List
importpublic Data.Nat
importpublic Data.String
importpublic Data.Maybe

Definitions

dataRecognise : Bool->Type
  A language of token recognisers.
@ consumes If `True`, this recogniser is guaranteed to consume at
least one character of input when it succeeds.

Totality: total
Visibility: public export
Constructors:
Empty : RecogniseFalse
Fail : Recognisec
Lookahead : Bool->Recognisec->RecogniseFalse
Pred : (Char->Bool) ->RecogniseTrue
SeqEat : RecogniseTrue-> Inf (Recognisee) ->RecogniseTrue
SeqEmpty : Recognisee1->Recognisee2->Recognise (e1|| Delay e2)
Alt : Recognisee1->Recognisee2->Recognise (e1&& Delay e2)
Lexer : Type
  A token recogniser. Guaranteed to consume at least one character.

Visibility: public export
(<+>) : Recognisec1->infc1 (Recognisec2) ->Recognise (c1|| Delay c2)
  Sequence two recognisers. If either consumes a character, the sequence
is guaranteed to consume a character.

Visibility: public export
Fixity Declaration: infixl operator, level 8
(<|>) : Recognisec1->Recognisec2->Recognise (c1&& Delay c2)
  Alternative recognisers. If both consume, the combination is guaranteed
to consumer a character.

Visibility: public export
Fixity Declaration: infixr operator, level 2
fail : Recognisec
  A recogniser that always fails.

Visibility: public export
empty : RecogniseFalse
  Recognise no input (doesn't consume any input)

Visibility: public export
pred : (Char->Bool) ->Lexer
  Recognise a character that matches a predicate

Visibility: public export
expect : Recognisec->RecogniseFalse
  Positive lookahead. Never consumes input.

Visibility: public export
reject : Recognisec->RecogniseFalse
  Negative lookahead. Never consumes input.

Visibility: public export
concatMap : (a->Recognisec) -> (xs : Lista) ->Recognise (c&& Delay (isConsxs))
  Sequence the recognisers resulting from applying a function to each element
of a list. The resulting recogniser will consume input if the produced
recognisers consume and the list is non-empty.

Visibility: public export
dataStrLen : Type
Totality: total
Visibility: public export
Constructor: 
MkStrLen : String->Nat->StrLen

Hint: 
ShowStrLen
getString : StrLen->String
Visibility: public export
strIndex : StrLen->Nat->MaybeChar
Visibility: public export
mkStr : String->StrLen
Visibility: public export
strTail : Nat->StrLen->StrLen
Visibility: public export
unpack' : String->ListChar
Visibility: public export
scan : Recognisec->ListChar->ListChar->Maybe (ListChar, ListChar)
Visibility: public export
TokenMap : Type->Type
  A mapping from lexers to the tokens they produce.
This is a list of pairs `(Lexer, String -> tokenType)`
For each Lexer in the list, if a substring in the input matches, run
the associated function to produce a token of type `tokenType`

Visibility: public export
recordTokenData : Type->Type
  A token, and the line and column where it was in the input

Totality: total
Visibility: public export
Constructor: 
MkToken : Int->Int->a->TokenDataa

Projections:
.col : TokenDataa->Int
.line : TokenDataa->Int
.tok : TokenDataa->a

Hint: 
Showa=>Show (TokenDataa)
.line : TokenDataa->Int
Visibility: public export
line : TokenDataa->Int
Visibility: public export
.col : TokenDataa->Int
Visibility: public export
col : TokenDataa->Int
Visibility: public export
.tok : TokenDataa->a
Visibility: public export
tok : TokenDataa->a
Visibility: public export
tokenise : (TokenDataa->Bool) ->Int->Int->List (TokenDataa) ->TokenMapa->ListChar-> (List (TokenDataa), (Int, (Int, ListChar)))
Visibility: public export
lex : TokenMapa->String-> (List (TokenDataa), (Int, (Int, String)))
  Given a mapping from lexers to token generating functions (the
TokenMap a) and an input string, return a list of recognised tokens,
and the line, column, and remainder of the input at the first point in the
string where there are no recognised tokens.

Visibility: public export
lexTo : (TokenDataa->Bool) ->TokenMapa->String-> (List (TokenDataa), (Int, (Int, String)))
Visibility: public export