## cnv-ext.api
# Compiled by:
#
src/lib/c-kit/src/ast/ast.sublibapi Cnv_Ext {
Core_Conversion_Funs =
{
state_funs: state::State_Funs,
munge_ty_decr: ((raw_syntax::Ctype,parse_tree::Declarator) ->(raw_syntax::Ctype, Null_Or( String )) ),
cnv_type: (Bool,parse_tree::Decltype) -> (raw_syntax::Ctype,raw_syntax::Storage_Ilk),
cnv_expression: parse_tree::Expression -> (raw_syntax::Ctype, raw_syntax::Expression),
cnv_statement: parse_tree::Statement -> raw_syntax::Statement,
cnv_external_decl: parse_tree::External_Decl -> List( raw_syntax::External_Decl ),
wrap_expr: ((raw_syntax::Ctype, raw_syntax::Core_Expression) -> (raw_syntax::Ctype, raw_syntax::Expression)),
wrap_statement: raw_syntax::Core_Statement -> raw_syntax::Statement,
wrap_decl: raw_syntax::Core_External_Decl -> raw_syntax::External_Decl
};
Expression_Ext
=
parse_tree_ext::Expression_Ext( parse_tree::Specifier,
parse_tree::Declarator,
parse_tree::Ctype,
parse_tree::Decltype,
parse_tree::Operator,
parse_tree::Expression,
parse_tree::Statement
);
Statement_Ext
=
parse_tree_ext::Statement_Ext( parse_tree::Specifier,
parse_tree::Declarator,
parse_tree::Ctype,
parse_tree::Decltype,
parse_tree::Operator,
parse_tree::Expression,
parse_tree::Statement
);
External_Decl_Ext
=
parse_tree_ext::External_Decl_Ext( parse_tree::Specifier,
parse_tree::Declarator,
parse_tree::Ctype,
parse_tree::Decltype,
parse_tree::Operator,
parse_tree::Expression,
parse_tree::Statement
);
Specifier_Ext
=
parse_tree_ext::Specifier_Ext( parse_tree::Specifier,
parse_tree::Declarator,
parse_tree::Ctype,
parse_tree::Decltype,
parse_tree::Operator,
parse_tree::Expression,
parse_tree::Statement
);
Declarator_Ext
=
parse_tree_ext::Declarator_Ext( parse_tree::Specifier,
parse_tree::Declarator,
parse_tree::Ctype,
parse_tree::Decltype,
parse_tree::Operator,
parse_tree::Expression,
parse_tree::Statement
);
Declaration_Ext
=
parse_tree_ext::Declaration_Ext( parse_tree::Specifier,
parse_tree::Declarator,
parse_tree::Ctype,
parse_tree::Decltype,
parse_tree::Operator,
parse_tree::Expression,
parse_tree::Statement
);
Extension_Funs
=
{ cnvexp: Expression_Ext -> (raw_syntax::Ctype, raw_syntax::Expression),
cnvstat: Statement_Ext -> raw_syntax::Statement,
cnvbinop: { binop: parse_tree_ext::Operator_Ext, arg1expr: parse_tree::Expression, arg2expr: parse_tree::Expression }
-> (raw_syntax::Ctype, raw_syntax::Expression),
cnvunop: { unop: parse_tree_ext::Operator_Ext, arg_expr: parse_tree::Expression }
-> (raw_syntax::Ctype, raw_syntax::Expression),
cnvexternal_decl: External_Decl_Ext -> List( raw_syntax::External_Decl ),
cnvspecifier: { is_shadow: Bool, rest: List( parse_tree::Specifier ) }
-> Specifier_Ext
-> raw_syntax::Ctype,
cnvdeclarator: (raw_syntax::Ctype, Declarator_Ext)
-> (raw_syntax::Ctype, Null_Or( String )),
cnvdeclaration: Declaration_Ext -> List( raw_syntax::Declaration )
};
make_extension_funs: Core_Conversion_Funs -> Extension_Funs;
}; # Api CNVEXTENSION
## Changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.