package alba
Alba compiler
Install
Dune Dependency
Authors
Maintainers
Sources
0.4.4.tar.gz
sha256=4817038301d3e45bac9edf7e6f2fc8bf0a6d78e76e02ad7ea33ef69bcc17df3b
md5=25234357587126685d64f16236167937
doc/alba.fmlib/Fmlib/Character_parser/Advanced/index.html
Module Character_parser.Advanced
Advanced Parser.
State
: User state.Final
: Final result type of the parser.Expect_msg
: Error message, if something syntactically expected is not there.Semantic
: Semantic error message (triggered byfail message
)Context_msg
: Each new context is opened with a value of typeContext_msg
.
Parameters
module State : Module_types.ANY
module Final : Module_types.ANY
module Expect_msg : Module_types.ANY
module Semantic : Module_types.ANY
module Context_msg : Module_types.ANY
Signature
Modules and Types
module Context : CONTEXT with type msg = Context_msg.t
module Error :
Generic_parser.ERROR
with type expect = Expect_msg.t * Indent.t
and type semantic = Semantic.t
type final = Final.t
Combinators
include COMBINATORS
with type expect = Expect_msg.t
and type semantic = Semantic.t
and type state = State.t
and type context = Context_msg.t
Basic Combinators
type expect = Expect_msg.t
include Generic_parser.COMBINATORS with type semantic = Semantic.t
type semantic = Semantic.t
val return : 'a -> 'a t
val succeed : 'a -> 'a t
Position and State Combinators
val get_position : Position.t t
Indentation Combinators
val get_bounds : (int * int option) t
Context Combinator
type context = Context_msg.t
Character Combinators
val expect : (char -> bool) -> Expect_msg.t -> char t
val expect_end : Expect_msg.t -> unit t
val one_of_chars : string -> Expect_msg.t -> char t
val string : string -> (int -> Expect_msg.t) -> unit t
val char : char -> Expect_msg.t -> unit t
val space : Expect_msg.t -> unit t
val letter : Expect_msg.t -> char t
val digit : Expect_msg.t -> char t
val word : (char -> bool) -> (char -> bool) -> Expect_msg.t -> string t
Parser
During Parsing
include PARSER with type state = State.t
type state = State.t
State type
val needs_more : parser -> bool
Does the parser need more tokens (i.e. either put_character
or put_end
)?
val has_ended : parser -> bool
Has the parser terminated (opposite of needs_more p
)?
val has_succeeded : parser -> bool
Has the parser succeeded
val has_failed : parser -> bool
Has the parser failed
val position : parser -> Position.t
The current position.
val line : parser -> int
The current line.
val column : parser -> int
The current column.
val error_tabs : parser -> int list
put_character p c
feeds the parser p
with the character token c
. Only possible if needs_more p
is valid.
Terminated Parser
The result the parser has produced which is either a final value or a list of dead ends. Only valid if the parser has terminated.
The list of tokens (i.e. optional characters) which the parser has not processed at the point of termination.
Create and Run the Parser
make pc st
makes a parser from a parser combinator pc
and the initial state st
.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page