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.3.0.tar.gz
md5=59d0dd01df52c38a4d793b594f067d14
sha512=944b755f8b47cb14920994f03f022cc3ba6cdf5def1ae8ffda00a196fa97dcc5b57baf642a03068b79e949df2a98d5f0218e3358e549be1ff0f1cddda1e5f848

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.

Sourcetype module_loading = allow_notmodules:bool -> is_stdlib:bool -> Catala_utils.Global.options -> string -> Ast.module_content
Sourceval load_module : module_loading

Load a single module content

Retrieve and load modules contents necessary to compile the given program

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.