package catala

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module D = Dcalc.Ast
module L = Lcalc.Ast
module TopLevelName : sig ... end
module LocalName : sig ... end
val dead_value : LocalName.t
val handle_default : TopLevelName.t
val handle_default_opt : TopLevelName.t
type stmt =
  1. | SInnerFuncDef of LocalName.t Utils.Marked.pos * func
  2. | SLocalDecl of LocalName.t Utils.Marked.pos * D.typ Utils.Marked.pos
  3. | SLocalDef of LocalName.t Utils.Marked.pos * expr Utils.Marked.pos
  4. | STryExcept of block * L.except * block
  5. | SRaise of L.except
  6. | SIfThenElse of expr Utils.Marked.pos * block * block
  7. | SSwitch of expr Utils.Marked.pos * D.EnumName.t * (block * LocalName.t) list
    (*

    Each block corresponds to one case of the enum

    *)
  8. | SReturn of expr
  9. | SAssert of expr
and block = stmt Utils.Marked.pos list
and func = {
  1. func_params : (LocalName.t Utils.Marked.pos * D.typ Utils.Marked.pos) list;
  2. func_body : block;
}
type scope_body = {
  1. scope_body_name : Dcalc.Ast.ScopeName.t;
  2. scope_body_var : TopLevelName.t;
  3. scope_body_func : func;
}
type program = {
  1. decl_ctx : D.decl_ctx;
  2. scopes : scope_body list;
}