module Op: Op_T
Open this module to bring the composition operators into the
current scope.
include Cf_dfa.T.Expr_Op_T
val ($=) : Cf_dfa.T.x -> 'a -> (S.t #Cf_parser.cursor, 'a) Cf_dfa.T.X.r
Use e $= x
to compose a rule that produces x
when the
symbols in the symbol stream match the expression e
.
val ($>) : Cf_dfa.T.x ->
(S.t Cf_seq.t -> 'a) -> (S.t #Cf_parser.cursor, 'a) Cf_dfa.T.X.r
Use e $> f
to compose a rule that applies the tokenizer
function f
to the sequence of input symbols in the
symbol/cursor stream recognized by the expression e
to
produce an output token.
val ($@) : Cf_dfa.T.x ->
(int -> (S.t #Cf_parser.cursor as 'b, 'a) Cf_dfa.T.X.t) ->
('b, 'a) Cf_dfa.T.X.r
Use e $@ f
to compose a rule that applies the scanning
function f
to the symbol/cursor input stream when the symbol
sequence is recognized by the expression e
. This operator
performs the same function as the ( $@ )
operator, but it
works on a stream of symbols woven with a corresponding cursor
stream.
val (!@) : (S.t #Cf_parser.cursor as 'b, 'a) Cf_dfa.T.X.r list -> ('b, 'a) Cf_dfa.T.X.r
Use this operator to combine a list of "cursor woven" rules
into a single rule.