package catala

  1. Overview
  2. Docs
Compiler and library for the literate programming language for tax code specification

Install

dune-project
 Dependency

Authors

Maintainers

Sources

1.1.0.tar.gz
md5=ec7dda88c5f7f371d2a35874cdae2a10
sha512=7cedccfbe5330992d5730441d6ba7b97446237ff5bb4579498a167f2319ec03e8fae50b7f80e3abe96833744b61ffd10719ce0c3e4c144893a4b7adc77e91b56

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.

Raw file parser that doesn't interpret any includes and returns the flat law structure as is

Sourceval load_interface : ?default_module_name:string -> is_stdlib:bool -> Catala_utils.File.t Catala_utils.Global.input_src -> Ast.module_content

Reads 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.

Sourceval load_interface_and_code : ?default_module_name:string -> is_stdlib:bool -> Catala_utils.File.t Catala_utils.Global.input_src -> Ast.module_content

Reads 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.

Sourceval register_included_file_resolver : filename:string -> new_content:string Catala_utils.Global.input_src -> unit

Register 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.

Sourceval parse_top_level_file : ?resolve_included_file:(string -> string Catala_utils.Global.input_src) -> Catala_utils.File.t Catala_utils.Global.input_src -> Ast.program

Parses 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.