sig
exception CfAstError
type expr =
Apply of Loc.loc * string * CfAst.expr * CfAst.expr list
| Connect of Loc.loc * CfAst.expr * CfAst.expr
| Cond of Loc.loc * CfAst.expr * CfAst.expr * CfAst.expr
| Name of Loc.loc * string
| Comp of Loc.loc * string * string list * CfAst.stmt list
| Prim of Loc.loc * string * string list
| DotName of Loc.loc * CfAst.expr * string
| DotPosition of Loc.loc * CfAst.expr * Intbig.intbig
| Integer of Loc.loc * Intbig.intbig
| Float of Loc.loc * float
| Boolean of Loc.loc * bool
| Vector of Loc.loc * string
| Record of Loc.loc * (string * CfAst.expr) list
| Free of Loc.loc
and stmt = ApplyStmt of CfAst.expr | ConnectStmt of CfAst.expr
val expr_loc : CfAst.expr -> Loc.loc
val stmt_loc : CfAst.stmt -> Loc.loc
val add_sub_env : CfAst.expr -> CfAst.expr -> string -> CfAst.expr
val write_apply : CfAst.expr -> string -> Pervasives.out_channel -> unit
end