# Module type CamlinternalMenhirLib.IncrementalEngine.INSPECTION

    module type INSPECTION = sig .. end

    include CamlinternalMenhirLib.IncrementalEngine.SYMBOLS

    type 'a lr1state

    type production

    type item = production * int

    val compare_terminals : 'a terminal -> 'b terminal -> int

    val compare_nonterminals : 'a nonterminal -> 'b nonterminal -> int

    val compare_symbols : xsymbol -> xsymbol -> int

    val compare_productions : production ->
           production -> int

    val compare_items : item ->
           item -> int

    val incoming_symbol : 'a lr1state -> 'a symbol

    val items : 'a lr1state ->
           item list

    val lhs : production -> xsymbol

    val rhs : production -> xsymbol list

    val nullable : 'a nonterminal -> bool

    val first : 'a nonterminal -> 'b terminal -> bool

    val xfirst : xsymbol -> 'a terminal -> bool

    val foreach_terminal : (xsymbol -> 'a -> 'a) -> 'a -> 'a

    val foreach_terminal_but_error : (xsymbol -> 'a -> 'a) -> 'a -> 'a

    type 'a env

    val feed : 'a symbol ->
           CamlinternalMenhirLib.IncrementalEngine.position ->
           'a ->
           CamlinternalMenhirLib.IncrementalEngine.position ->
           'b env ->
           'b env