Idris2Doc : Text.ILex.Stack

Text.ILex.Stack

(source)

Definitions

recordStack : Type->Type->Bits32->Type->Type
  A general-purpose mutable parser stack that can be used in many common
situation, such as when needing just a lexer or wanting to parse
a single value of a simple type.

For concrete usage examples, see ilex-json and ilex-toml, which both
make use of this type as their mutable parser state.

If you are writing a parser for something complex such as a programming
language, you're probably going to need quite a few custom fields, so
feel free to come up with your own.

Totality: total
Visibility: public export
Constructor: 
S : RefqNat->RefqNat->Refq (SnocListPosition) ->Refqa->Refq (Indexr) ->Refq (SnocListString) ->Refq (Maybe (BoundedErre)) ->RefqByteString->Stackearq

Projections:
.bytes_ : Stackearq->RefqByteString
.col_ : Stackearq->RefqNat
.error_ : Stackearq->Refq (Maybe (BoundedErre))
.line_ : Stackearq->RefqNat
.positions_ : Stackearq->Refq (SnocListPosition)
.stack_ : Stackearq->Refqa
.state_ : Stackearq->Refq (Indexr)
.strings_ : Stackearq->Refq (SnocListString)

Hints:
HasBytes (Stackear)
HasError (Stackear) e
HasPosition (Stackear)
HasStack (Stackear) a
HasStringLits (Stackear)
.line_ : Stackearq->RefqNat
Totality: total
Visibility: public export
line_ : Stackearq->RefqNat
Totality: total
Visibility: public export
.col_ : Stackearq->RefqNat
Totality: total
Visibility: public export
col_ : Stackearq->RefqNat
Totality: total
Visibility: public export
.positions_ : Stackearq->Refq (SnocListPosition)
Totality: total
Visibility: public export
positions_ : Stackearq->Refq (SnocListPosition)
Totality: total
Visibility: public export
.stack_ : Stackearq->Refqa
Totality: total
Visibility: public export
stack_ : Stackearq->Refqa
Totality: total
Visibility: public export
.state_ : Stackearq->Refq (Indexr)
Totality: total
Visibility: public export
state_ : Stackearq->Refq (Indexr)
Totality: total
Visibility: public export
.strings_ : Stackearq->Refq (SnocListString)
Totality: total
Visibility: public export
strings_ : Stackearq->Refq (SnocListString)
Totality: total
Visibility: public export
.error_ : Stackearq->Refq (Maybe (BoundedErre))
Totality: total
Visibility: public export
error_ : Stackearq->Refq (Maybe (BoundedErre))
Totality: total
Visibility: public export
.bytes_ : Stackearq->RefqByteString
Totality: total
Visibility: public export
bytes_ : Stackearq->RefqByteString
Totality: total
Visibility: public export
init : {auto0_ : 0<r} ->a->F1q (Stackearq)
  Initializes a new parser stack.

Totality: total
Visibility: export
dataTok : Type->Type->Type
  Description of lexicographic tokens

These are used to convert a lexer state to a token (or an error)
of the appropriate type. Every lexer state corresponds to exactly
one convertion. Typically, most lexer states are non-terminal
states, so they correspond to `Bottom`.

Totality: total
Visibility: public export
Constructors:
Ignore : Tokea
  Marks a terminal state that does not produce a token.
This can be used for comments or whitespace that should be
ignored.
Const : a->Tokea
  A constant token that allows us to emit a value directly.
Txt : (String->Eitherea) ->Tokea
  A token that needs to be parsed from its corresponding bytestring.
Bytes : (ByteString->Eitherea) ->Tokea
  A token that needs to be parsed from its corresponding bytestring.
const : a->Tokea
Totality: total
Visibility: export
txt : (String->a) ->Tokea
Totality: total
Visibility: export
bytes : (ByteString->a) ->Tokea
Totality: total
Visibility: export
0PVal1 : Type->Type->Type->Type
Totality: total
Visibility: public export
value : Maybea->TokenMap (Tokea) ->PVal1qea
  Parser for simple values based on regular expressions.

Totality: total
Visibility: export
lexPushNL : sq=>HasPositions=>HasStacks (SnocList (Boundeda)) => {auto0_ : 0<r} ->Nat->a->F1q (Indexr)
Totality: total
Visibility: export
lexPush : sq=>HasPositions=>HasStacks (SnocList (Boundeda)) => {auto0_ : 0<r} ->Nat->a->F1q (Indexr)
Totality: total
Visibility: export
ctok : (x : RExpOfTrueb) ->HasPositions=>HasStacks (SnocList (Boundeda)) => {auto0_ : 0<r} -> {auto0_ : ConstSizenx} ->a-> (RExpOfTrueb, Stepqrs)
  Recognizes the given character and uses it to update the parser state
as specified by `f`.

The current column is increased by one *after* invoking `f`.

Totality: total
Visibility: export
readTok : RExpOfTrueb->HasPositions=>HasStacks (SnocList (Boundeda)) => {auto0_ : 0<r} ->HasBytess=> (String->a) -> (RExpOfTrueb, Stepqrs)
Totality: total
Visibility: export
convTok : RExpOfTrueb->HasPositions=>HasStacks (SnocList (Boundeda)) => {auto0_ : 0<r} ->HasBytess=> (ByteString->a) -> (RExpOfTrueb, Stepqrs)
Totality: total
Visibility: export
nltok : RExpOfTrueb->HasPositions=>HasStacks (SnocList (Boundeda)) => {auto0_ : 0<r} ->HasBytess=>a-> (RExpOfTrueb, Stepqrs)
Totality: total
Visibility: export
lexEOI : {auto0_ : 0<r} ->HasPositions=>HasStacks (SnocLista) =>HasErrorse=>HasBytess=>Indexr->sq->F1q (Either (BoundedErre) (Lista))
Totality: total
Visibility: export
0L1 : Type->Type->Type->Type
Totality: total
Visibility: public export
0Lexer : Type->Type->Type
Totality: total
Visibility: public export
lexer : {auto0_ : 0<r} ->Stepsqr (Stacke (SnocList (Boundeda)) r) ->L1qea
Totality: total
Visibility: export