module GenC: sig
.. end
val c_indent : string
val dispatches : (string * string option * string list * string * (string * string) list) list
Pervasives.ref
val dispatchon : (string * string list * string) list Pervasives.ref
val dispatcharr : (string * string * Cast.cexpr list) list Pervasives.ref
val matches : string -> string -> bool
Parameters: |
type1 |
: |
string
|
type2 |
: |
string
|
|
val lit_to_str : Ast.lit -> string
val stringify_unop : Ast.op -> string -> string -> string
Parameters: |
op |
: |
Ast.op
|
rop |
: |
string
|
rtype |
: |
string
|
|
val stringify_arith : Ast.arith -> string -> string
val stringify_numtest : Ast.numtest -> string -> string
val stringify_combtest : Ast.combtest -> string -> string
val stringify_binop : Ast.op -> string -> string -> string * string -> string
Parameters: |
op |
: |
Ast.op
|
lop |
: |
string
|
rop |
: |
string
|
types |
: |
string * string
|
|
val stringify_list : string list -> string
val expr_to_cstr : Cast.cexpr -> string
val exprdetail_to_cstr : Cast.cexpr_detail -> string
val vdecl_to_cstr : string * string -> string
Parameters: |
(vtype,vname) |
: |
string * string
|
|
val collect_dispatches_exprs : Cast.cexpr list -> unit
val collect_dispatches_stmts : Cast.cstmt list -> unit
val collect_dispatches_expr : Cast.cexpr -> unit
val collect_dispatches_stmt : Cast.cstmt -> unit
val collect_dispatches_clauses : (Cast.cexpr option * Cast.cstmt list) list -> unit
val collect_dispatch : Cast.cexpr list -> string option -> Sast.refine_switch -> unit
val collect_dispatch_on : Sast.refine_switch -> unit
val collect_dispatch_func : Cast.cfunc -> unit
val collect_dispatch_arr : string -> string -> Cast.cexpr list -> unit
Parameters: |
arrtype |
: |
string
|
fname |
: |
string
|
args |
: |
Cast.cexpr list
|
|
Takes an element from the dispatchon list and generates the test function for refinable.
val generate_testsw : string * string list * string -> string
Parameters: |
(klass,klasses,fuid) |
: |
string * string list * string
|
|
Takes a dispatch element of the global dispatches list
And generates the dispatch function - dispatcher which dispatches
calls to refinable methods based on the RTTI of the this.
val generate_refinesw : string * string option * string list * string * (string * string) list ->
string
Parameters: |
(klass,ret,args,dispatchuid,cases) |
: |
string * string option * string list * string * (string * string) list
|
|
val generate_arrayalloc : string * string * 'a list -> string
Parameters: |
(arrtype,fname,args) |
: |
string * string * 'a list
|
|
val cast_to_c_stmt : int -> Cast.cstmt -> string
Take a list of cast_stmts and return a body of c statements
Returns A body of c statements
val cast_to_c_stmtlist : int -> Cast.cstmt list -> string
val cast_to_c_if_pred : Cast.cexpr option -> string
val cast_to_c_if_chain : int -> (Cast.cexpr option * Cast.cstmt list) list -> string
val cast_to_c_class_struct : string -> (string * (string * string) list) list -> string
Parameters: |
klass_name |
: |
string
|
ancestors |
: |
(string * (string * string) list) list
|
|
val cast_to_c_func : Cast.cfunc -> string
val cast_to_c_proto : Cast.cfunc -> string
val cast_to_c_proto_dispatch_arr : string * string * 'a list -> string
Parameters: |
(arrtype,fname,args) |
: |
string * string * 'a list
|
|
val cast_to_c_proto_dispatch_on : string * 'a * string -> string
Parameters: |
(klass,(),uid) |
: |
string * 'a * string
|
|
val cast_to_c_proto_dispatch : string * string option * string list * string * 'a -> string
Parameters: |
(klass,ret,args,uid,()) |
: |
string * string option * string list * string * 'a
|
|
val cast_to_c_main : (string * string) list -> string
Parameters: |
mains |
: |
(string * string) list
|
|
val commalines : string list -> int -> string list
Parameters: |
input |
: |
string list
|
n |
: |
int
|
|
val print_class_strings : string list -> string list
val print_class_enums : string list -> string list
val setup_meta : string -> string
val meta_init : (string * string list) list -> string
Parameters: |
bindings |
: |
(string * string list) list
|
|
val cast_to_c : Cast.program -> Pervasives.out_channel -> unit
Parameters: |
(cdefs,funcs,mains,ancestry) |
: |
Cast.program
|
channel |
: |
Pervasives.out_channel
|
|