catala/compiler/surface
Louis Gesbert 3649f92975 Rework resolution of module elements
This changes the `decl_ctx` to be toplevel only, with flattened references to
uids for most elements. The module hierarchy, which is still useful in a few
places, is kept separately.

Module names are also changed to UIDs early on, and support for module aliases
has been added (needs testing).

This resolves some issues with lookup, and should be much more robust, as well
as more convenient for most lookups.

The `decl_ctx` was also extended for string ident lookups, which avoids having
to keep the desugared resolution structure available throughout the compilation
chain.
2023-11-30 21:14:12 +01:00
..
.ocamlformat-ignore Workaround some ocamlformat crashes 2022-05-11 16:21:07 +02:00
ast.ml Rework resolution of module elements 2023-11-30 21:14:12 +01:00
dune Rework the AST Gadt to allow merging of different ASTs 2023-03-30 15:30:08 +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 Add a lightweight lexer for dependency extraction in Clerk 2023-09-27 13:08:15 +02:00
lexer_common.mli Reformat 2023-09-27 13:14:38 +02:00
lexer_en.cppo.ml support for parsing Module directives 2023-09-27 13:08:11 +02:00
lexer_en.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer_fr.cppo.ml Add a lightweight lexer for dependency extraction in Clerk 2023-09-27 13:08:15 +02:00
lexer_fr.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer_pl.cppo.ml support for parsing Module directives 2023-09-27 13:08:11 +02:00
lexer_pl.mli Big reformatting 2022-03-08 15:03:14 +01:00
lexer.cppo.ml Fix line-lexer on french syntax 2023-10-03 18:49:16 +02:00
parser_driver.ml Rework resolution of module elements 2023-11-30 21:14:12 +01:00
parser_driver.mli Rework resolution of module elements 2023-11-30 21:14:12 +01:00
parser_errors.mli Big reformatting 2022-03-08 15:03:14 +01:00
parser.messages Add a lightweight lexer for dependency extraction in Clerk 2023-09-27 13:08:15 +02:00
parser.mly support for parsing Module directives 2023-09-27 13:08:11 +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 parsing Module directives 2023-09-27 13:08:11 +02:00