module Cttm_abstree: sig end
exception TypeError_typed = C_typing.TypeError_typed
type mexpr = {
}
type binop = Ctt_abstree.binop
=
| |
CTTbinTimes |
| |
CTTbinDiv |
| |
CTTbinPlusVV |
| |
CTTbinMinusVV |
| |
CTTbinPostPlusVV |
| |
CTTbinPostMinusVV |
| |
CTTbinPlusPV |
| |
CTTbinMinusPP |
| |
CTTbinMinusPV |
| |
CTTbinPostPlusPV |
| |
CTTbinPostMinusPV |
| |
CTTbinModulo |
| |
CTTbinLshift |
| |
CTTbinRshift |
| |
CTTbinLogAnd |
| |
CTTbinLogOr |
| |
CTTbinIntAnd |
| |
CTTbinIntOr |
| |
CTTbinIntXor |
| |
CTTbinLessThan |
| |
CTTbinLessEqual |
| |
CTTbinGtrThan |
| |
CTTbinGtrEqual |
| |
CTTbinEqual |
| |
CTTbinNotEqual |
type unaryop = Ctt_abstree.unaryop
=
| |
UnaryPlus |
| |
UnaryMinus |
| |
LogNot |
| |
IntNot |
type mexpr_desc =
type mem_object =
type field = Ctt_abstree.identifier * Ctt_abstree.c_type
type c_constants = Ctt_abstree.c_constants
=
| |
CTTconstNull |
| |
CTTconstInteger of Big_int.big_int |
| |
CTTconstFloat of float |
| |
CTTconstString of string |
type identifier_desc = {
}
val translate_field : Ctt_abstree.expr ->
Ctt_abstree.identifier ->
Ctt_abstree.c_type -> mem_object * field list
val translate : Ctt_abstree.expr -> mexpr
val translate_address : Ctt_abstree.expr -> mexpr_desc
val translate_invoke_lhs : Ctt_abstree.expr -> mem_object
val translate_assign : Ctt_abstree.expr ->
mexpr ->
(binop * Ctt_abstree.c_type option) option ->
mexpr_desc
type cttm_initializer =
val translate_initializer : Ctt_abstree.ctt_initializer -> cttm_initializer
val translate_declaration : 'a * 'b * 'c * Ctt_abstree.ctt_initializer option ->
'a * 'b * 'c * cttm_initializer option