module type Expr_Op_T = sig
.. end
The module type containing the subexpression composition operators. This
module type is included in the signatures of the Op
and X.Op
modules.
val ($|) : Cf_lex.x -> Cf_lex.x -> Cf_lex.x
Alternating composition. Use a $| b
to compose an expression that
matches either expression a
or expression b
.
val ($&) : Cf_lex.x -> Cf_lex.x -> Cf_lex.x
Serial composition. Use a $& b
to compose an expression that matches
expression a
followed by expression b
.
val ( !* ) : Cf_lex.x -> Cf_lex.x
Star composition. Use !*a
to compose an expression that matches zero
or any number of instances of a
.
val (!+) : Cf_lex.x -> Cf_lex.x
Plus composition. Use !+a
to compose an expression that matches one
or more instances of a
.
val (!?) : Cf_lex.x -> Cf_lex.x
Optional composition. Use !?a
to compose an expression that matches
zero or one instance of a
.
val (!:) : char -> Cf_lex.x
Character literal. Use !:c
to compose an expression that matches the
character c
.
val (!^) : (char -> bool) -> Cf_lex.x
Character set. Use !^f
to compose an expression that matches any
character for which the satisfier function f
returns true
.
val (!~) : char Cf_seq.t -> Cf_lex.x
Regular expression sequence. Use
!~z
to parse the sequence
z
according to the grammar defined in
Cf_regex
module and compose
an expression that matches input accordingly. Raises
Cf_regex.Error
if the sequence is not a regular expression.
val (!$) : string -> Cf_lex.x
Regular expression string. Use
!~s
to parse the string
s
according
to the grammar defined in
Cf_regex
module and compose an expression
that matches input accordingly. Raises
Cf_regex.Error
if the string
is not a regular expression.