module EngineTypes: sig .. end
type ('state, 'semantic_value) stack = {
|    | state : 'state; | 
|    | semv : 'semantic_value; | 
|    | startp : Lexing.position; | 
|    | endp : Lexing.position; | 
|    | next : ('state, 'semantic_value) stack; | 
}
type ('state, 'semantic_value, 'token) env = {
|    | error : bool; | 
|    | triple : 'token * Lexing.position * Lexing.position; | 
|    | stack : ('state, 'semantic_value) stack; | 
|    | current : 'state; | 
}
module type LOG = sig .. end
module type TABLE = sig .. end
module type MONOLITHIC_ENGINE = sig .. end
module type INCREMENTAL_ENGINE_START = sig .. end
module type ENGINE = sig .. end