# Module type Cf_dfa.T.X.Op_T

    module type Op_T = sig .. end

The signature of the `Op` module, which contains the composition operators.

    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.