Frontend.PreprocessorPreprocessor for handling include directives
val location_of_position : Stdlib.Lexing.position -> Middle.Location.tval location_span_of_positions :
(Stdlib.Lexing.position * Stdlib.Lexing.position) ->
Middle.Location_span.tval current_location : unit -> Middle.Location_span.tCurrent location in the top buffer
Update the lex_start_p the lexing buffers on the stack. This solves an issue where a parser which started with one lexbuf but is finishing with another can have the wrong information
val add_comment : Ast.comment_type -> unitval get_comments : unit -> Ast.comment_type listRestore to a previous lexing buffer (assumes that one exists) and updates positions accordingly.