Scalc.AstSourcetype expr = | EVar of LocalName.t| EFunc of TopLevelName.t| EStruct of expr Utils.Pos.marked list * D.StructName.t| EStructFieldAccess of expr Utils.Pos.marked
* D.StructFieldName.t
* D.StructName.t| EInj of expr Utils.Pos.marked * D.EnumConstructor.t * D.EnumName.t| EArray of expr Utils.Pos.marked list| ELit of L.lit| EApp of expr Utils.Pos.marked * expr Utils.Pos.marked list| EOp of Dcalc.Ast.operatortype stmt = | SInnerFuncDef of LocalName.t Utils.Pos.marked * func| SLocalDecl of LocalName.t Utils.Pos.marked * D.typ Utils.Pos.marked| SLocalDef of LocalName.t Utils.Pos.marked * expr Utils.Pos.marked| STryExcept of block * L.except * block| SRaise of L.except| SIfThenElse of expr Utils.Pos.marked * block * block| SSwitch of expr Utils.Pos.marked * D.EnumName.t * (block * LocalName.t) listEach block corresponds to one case of the enum
*)| SReturn of expr| SAssert of exprand func = {func_params : (LocalName.t Utils.Pos.marked * D.typ Utils.Pos.marked) list;func_body : block;}type scope_body = {scope_body_name : Dcalc.Ast.ScopeName.t;scope_body_var : TopLevelName.t;scope_body_func : func;}