EngineTypes.INCREMENTAL_ENGINE_STARTThis signature describes just the entry point of the incremental LR engine. It is a supplement to IncrementalEngine.INCREMENTAL_ENGINE.
The start function is set apart because we do not wish to publish it as part of the generated file parser.mli. Instead, the table back-end will publish specialized versions of it, with a suitable type cast.
val start : state -> Lexing.position -> semantic_value checkpointstart is an entry point. It requires a start state and a start position and begins the parsing process. If the lexer is based on an OCaml lexing buffer, the start position should be lexbuf.lex_curr_p. start produces a checkpoint, which usually will be an InputNeeded checkpoint. (It could be Accepted if this starting state accepts only the empty word. It could be Rejected if this starting state accepts no word at all.) It does not raise any exception.
start s pos should really produce a checkpoint of type 'a checkpoint, for a fixed 'a that depends on the state s. We cannot express this, so we use semantic_value checkpoint, which is safe. The table back-end uses Obj.magic to produce safe specialized versions of start.