# Module Cf_dfa.T.Op

    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 -> 'a Cf_dfa.T.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) -> 'a Cf_dfa.T.r

Use `e $> f` to compose a rule that applies the tokenizer function `f` to the sequence of input symbols in the stream recognized by the expression `e` to produce an output token.

    val ($@) : Cf_dfa.T.x -> (int -> 'a Cf_dfa.T.t) -> 'a Cf_dfa.T.r

Use `e $@ f` to compose a rule that applies the scanning function `f` to the input stream when it is recognized by the expression `e`. The scanning function is passed the length of the recognized sequence of symbols and receives a parser in return that produces the output of the rule and makes any advanced manipulations of the input stream necessary to continue parsing for the next token. If the parser returned from the scanning function does not recognize the input stream, then the rule is not matched and the next best matching rule is selected.

    val (!@) : 'a Cf_dfa.T.r list -> 'a Cf_dfa.T.r

Use this operator to combine a list of rules into a single rule.