mirror of
https://github.com/CatalaLang/catala.git
synced 2024-10-07 09:17:31 +03:00
d5b5fe71c4
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). |
||
---|---|---|
.. | ||
clerk_config.ml | ||
clerk_config.mli | ||
clerk_driver.ml | ||
clerk_driver.mli | ||
clerk_report.ml | ||
clerk_report.mli | ||
clerk_runtest.ml | ||
clerk_runtest.mli | ||
clerk_scan.ml | ||
clerk_scan.mli | ||
clerk.ml | ||
dune | ||
README.md |
Clerk
The build system for Catala built on top of ninja.
Usage
Use clerk --help
if you have installed it to get more information about the command line
options available. To get the development version of the help, run make help_clerk
after make build
. The clerk
binary corresponds to the Catala build system,
responsible for testing among other things.
Under the hood
To perform tests, Clerk will first generate a build.ninja
file with required
rules and build statements retrieved from the given input path(s), before
executing the command ninja test
.
The handling of the ninja
structure is done with the module Ninja_utils
.