package catala
Compiler and library for the literate programming language for tax code specification
Install
Dune Dependency
Authors
Maintainers
Sources
0.10.0.tar.gz
md5=5abd76e8c51a47670645e91b21b57fc5
sha512=9c6fbe50c0b5a60566e877eeddadca0a339e2ce35deb5c1beceb03bc40eb6af2d519313e71859d88645b53fad591d4fa5288c633b185c9d765603da0f5b7dd7b
doc/catala.scalc/Scalc/Ast/index.html
Module Scalc.Ast
Source
Source
and naked_expr =
| EVar of VarName.t
| EFunc of FuncName.t
| EStruct of {
fields : expr Shared_ast.StructField.Map.t;
name : Shared_ast.StructName.t;
}
| EStructFieldAccess of {
e1 : expr;
field : Shared_ast.StructField.t;
name : Shared_ast.StructName.t;
}
| ETuple of expr list
| ETupleAccess of {
e1 : expr;
index : int;
}
| EInj of {
e1 : expr;
cons : Shared_ast.EnumConstructor.t;
name : Shared_ast.EnumName.t;
expr_typ : Shared_ast.typ;
}
| EArray of expr list
| ELit of Shared_ast.lit
| EApp of {
}
| EAppOp of {
op : operator Catala_utils.Mark.pos;
args : expr list;
}
| EExternal of {
modname : VarName.t Catala_utils.Mark.pos;
name : string Catala_utils.Mark.pos;
}
Source
type stmt =
| SInnerFuncDef of {
name : VarName.t Catala_utils.Mark.pos;
func : func;
}
| SLocalDecl of {
name : VarName.t Catala_utils.Mark.pos;
typ : Shared_ast.typ;
}
| SLocalInit of {
name : VarName.t Catala_utils.Mark.pos;
typ : Shared_ast.typ;
expr : expr;
}
| SLocalDef of {
name : VarName.t Catala_utils.Mark.pos;
expr : expr;
typ : Shared_ast.typ;
}
| STryWEmpty of {
}
| SRaiseEmpty
| SFatalError of Shared_ast.Runtime.error
| SIfThenElse of {
}
| SSwitch of {
switch_expr : expr;
switch_expr_typ : Shared_ast.typ;
enum_name : Shared_ast.EnumName.t;
switch_cases : switch_case list;
}
| SReturn of naked_expr
| SAssert of naked_expr
| SSpecialOp of special_operator
Source
and special_operator =
| OHandleDefaultOpt of {
exceptions : expr list;
just : expr;
cons : block;
return_typ : Shared_ast.typ;
}
Source
and switch_case = {
case_block : block;
payload_var_name : VarName.t;
payload_var_typ : Shared_ast.typ;
}
Source
and func = {
func_params : (VarName.t Catala_utils.Mark.pos * Shared_ast.typ) list;
func_body : block;
func_return_typ : Shared_ast.typ;
}
Source
type scope_body = {
scope_body_name : Shared_ast.ScopeName.t;
scope_body_var : FuncName.t;
scope_body_func : func;
}
Source
type code_item =
| SVar of {
var : VarName.t;
expr : expr;
typ : Shared_ast.typ;
}
| SFunc of {
var : FuncName.t;
func : func;
}
| SScope of scope_body
Source
type program = {
ctx : ctx;
code_items : code_item list;
module_name : Shared_ast.ModuleName.t option;
}
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>