catala/compiler/surface
Louis Gesbert d5b5fe71c4 Fix handling of the lexer context
The lexing context uses a global reference. This patch ensures it is handled
carefully for the lifetime of lexing a given file.

Before that, very weird bugs could happen, for example when a file ended with an
unclosed verbatim block, the parsing of module interfaces done later on would
start in verbatim context and fail to parse e.g. module use definitions.

The patch additionally adds checks and warns about unclosed blocks at EOF, which
before that would be silently accepted (with the above pitfall).
2024-09-26 10:25:52 +02:00
..
.ocamlformat-ignore Workaround some ocamlformat crashes 2022-05-11 16:21:07 +02:00
ast.ml Pass the "external module" info along passes 2024-05-28 11:43:50 +02:00
dune Remove direct dependency towards dates_calc from the compiler 2024-05-02 16:30:46 +02:00
fill_error_tokens.py Big renaming and dir reorg 2021-06-21 11:39:06 +02:00
fill_positions.ml Simplify visitors ppx annotations 2023-08-04 11:43:16 +02:00
fill_positions.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer_common.ml Fix handling of the lexer context 2024-09-26 10:25:52 +02:00
lexer_common.mli Fix handling of the lexer context 2024-09-26 10:25:52 +02:00
lexer_en.cppo.ml Support for structure updates 2024-04-12 17:17:48 +02:00
lexer_en.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer_fr.cppo.ml Support for structure updates 2024-04-12 17:17:48 +02:00
lexer_fr.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer_pl.cppo.ml Support for structure updates 2024-04-12 17:17:48 +02:00
lexer_pl.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer.cppo.ml Fix handling of the lexer context 2024-09-26 10:25:52 +02:00
parser_driver.ml Fix handling of the lexer context 2024-09-26 10:25:52 +02:00
parser_driver.mli Add the possibility to override inputs of included files 2024-09-11 14:46:32 +02:00
parser_errors.mli Big reformatting 2022-03-08 15:03:14 +01:00
parser.messages Support for direct tuple member access 2024-04-13 09:37:03 +02:00
parser.mly More precise positions for operators throughout 2024-04-30 16:35:08 +02:00
print.ml Rework and normalise the Marked interface 2023-05-17 17:37:00 +02:00
print.mli Big reformatting 2022-03-08 15:03:14 +01:00
surface.mld Fix most doc errors 2023-06-02 17:17:45 +02:00
tokens.mly Support for structure updates 2024-04-12 17:17:48 +02:00