Module type Cf_lex.Expr_Op_T

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.