package catala
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=42196e9a9c5e12839b38cb3da935f10c
sha512=ede2d8c17dcb936c1c8c596f1453bf89370a2f824a190efe74e438d7d7f7f83875c1ecbc18219c6a8a3e98b3ab4da1c3a6cc4e534687dbc90f3dca8230f43f7b
doc/catala.surface/Surface/Parser_driver/index.html
Module Surface.Parser_driverSource
Wrapping module around parser and lexer that offers the Surface.Parser_driver.parse_source_file API.
val lines :
Catala_utils.File.t ->
Catala_utils.Global.backend_lang ->
(string * Lexer_common.line_token * (Lexing.position * Lexing.position))
Seq.tRaw file parser that doesn't interpret any includes and returns the flat law structure as is
val load_interface :
?default_module_name:string ->
Catala_utils.File.t Catala_utils.Global.input_src ->
Ast.module_contentReads only declarations in metadata in the supplied input file, and only keeps type information. The list of submodules is initialised with names only and empty contents.
val load_interface_and_code :
?default_module_name:string ->
Catala_utils.File.t Catala_utils.Global.input_src ->
Ast.module_contentReads the supplied input file and returns its interface that contains type information as well as scope and topdef definitions. The list of submodules is initialised with names only and empty contents.
val register_included_file_resolver :
filename:string ->
new_content:string Catala_utils.Global.input_src ->
unitRegister an included file dynamic resolver. When the surface's parser encounters an inclusion that correspond to the filename argument, it will dynamically replace it with the given new_content.
val parse_top_level_file :
?resolve_included_file:(string -> string Catala_utils.Global.input_src) ->
Catala_utils.File.t Catala_utils.Global.input_src ->
Ast.programParses a catala file (handling file includes) and returns a program. Interfaces of the used modules are returned empty, use load_interface to fill them. When provided resolve_included_file replaces file includes with an user provided input source. However, it will shadow any existing dynamic resolver registered using register_included_file_resolver.