HCoop
/
bpt
/
coccinelle.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Coccinelle release 0.2.5-rc8
[bpt/coccinelle.git]
/
parsing_c
/
visitor_c.mli
diff --git
a/parsing_c/visitor_c.mli
b/parsing_c/visitor_c.mli
index
a931e58
..
38ff087
100644
(file)
--- a/
parsing_c/visitor_c.mli
+++ b/
parsing_c/visitor_c.mli
@@
-4,18
+4,25
@@
type visitor_c = {
kexpr : (expression -> unit) * visitor_c -> expression -> unit;
kstatement : (statement -> unit) * visitor_c -> statement -> unit;
ktype : (fullType -> unit) * visitor_c -> fullType -> unit;
kexpr : (expression -> unit) * visitor_c -> expression -> unit;
kstatement : (statement -> unit) * visitor_c -> statement -> unit;
ktype : (fullType -> unit) * visitor_c -> fullType -> unit;
+
kdecl : (declaration -> unit) * visitor_c -> declaration -> unit;
kdecl : (declaration -> unit) * visitor_c -> declaration -> unit;
+ konedecl : (onedecl -> unit) * visitor_c -> onedecl -> unit;
+ kparam : (parameterType -> unit) * visitor_c -> parameterType -> unit;
kdef : (definition -> unit) * visitor_c -> definition -> unit;
kdef : (definition -> unit) * visitor_c -> definition -> unit;
+ kname : (name -> unit) * visitor_c -> name -> unit;
+
kini : (initialiser -> unit) * visitor_c -> initialiser -> unit;
kini : (initialiser -> unit) * visitor_c -> initialiser -> unit;
+ kfield : (field -> unit) * visitor_c -> field -> unit;
+
kcppdirective: (cpp_directive -> unit) * visitor_c -> cpp_directive -> unit;
kcppdirective: (cpp_directive -> unit) * visitor_c -> cpp_directive -> unit;
- kdefineval :
(define_val -> unit) * visitor_c -> define_val
-> unit;
+ kdefineval :
(define_val -> unit) * visitor_c -> define_val
-> unit;
kstatementseq: (statement_sequencable -> unit) * visitor_c -> statement_sequencable -> unit;
kstatementseq: (statement_sequencable -> unit) * visitor_c -> statement_sequencable -> unit;
- kfield: (field -> unit) * visitor_c -> field -> unit;
- knode
:
+ knode
:
(Control_flow_c.node -> unit) * visitor_c -> Control_flow_c.node -> unit;
ktoplevel: (toplevel -> unit) * visitor_c -> toplevel -> unit;
(Control_flow_c.node -> unit) * visitor_c -> Control_flow_c.node -> unit;
ktoplevel: (toplevel -> unit) * visitor_c -> toplevel -> unit;
+
kinfo : (info -> unit) * visitor_c -> info -> unit;
}
kinfo : (info -> unit) * visitor_c -> info -> unit;
}
@@
-23,10
+30,15
@@
val default_visitor_c : visitor_c
val vk_expr : visitor_c -> expression -> unit
val vk_statement : visitor_c -> statement -> unit
val vk_expr : visitor_c -> expression -> unit
val vk_statement : visitor_c -> statement -> unit
+val vk_statement_sequencable : visitor_c -> statement_sequencable -> unit
val vk_type : visitor_c -> fullType -> unit
val vk_decl : visitor_c -> declaration -> unit
val vk_type : visitor_c -> fullType -> unit
val vk_decl : visitor_c -> declaration -> unit
+val vk_decl_list : visitor_c -> declaration list -> unit
val vk_onedecl : visitor_c -> onedecl -> unit
val vk_ini : visitor_c -> initialiser -> unit
val vk_onedecl : visitor_c -> onedecl -> unit
val vk_ini : visitor_c -> initialiser -> unit
+val vk_inis_splitted :
+ visitor_c -> (initialiser, il) Common.either list -> unit
+val vk_name : visitor_c -> name -> unit
val vk_def : visitor_c -> definition -> unit
val vk_node : visitor_c -> Control_flow_c.node -> unit
val vk_info : visitor_c -> info -> unit
val vk_def : visitor_c -> definition -> unit
val vk_node : visitor_c -> Control_flow_c.node -> unit
val vk_info : visitor_c -> info -> unit
@@
-38,36
+50,46
@@
val vk_argument_list : visitor_c -> argument wrap2 list -> unit
val vk_args_splitted : visitor_c -> (argument, il) Common.either list -> unit
val vk_param : visitor_c -> parameterType -> unit
val vk_param_list : visitor_c -> parameterType wrap2 list -> unit
val vk_args_splitted : visitor_c -> (argument, il) Common.either list -> unit
val vk_param : visitor_c -> parameterType -> unit
val vk_param_list : visitor_c -> parameterType wrap2 list -> unit
-val vk_params_splitted :
+val vk_params_splitted :
visitor_c -> (parameterType, il) Common.either list -> unit
visitor_c -> (parameterType, il) Common.either list -> unit
+val vk_struct_field : visitor_c -> field -> unit
val vk_struct_fields : visitor_c -> field list -> unit
val vk_struct_fieldkinds : visitor_c -> fieldkind wrap list -> unit
val vk_struct_fields : visitor_c -> field list -> unit
val vk_struct_fieldkinds : visitor_c -> fieldkind wrap list -> unit
+val vk_enum_fields : visitor_c -> enumType -> unit
+val vk_enum_fields_splitted :
+ visitor_c -> (oneEnumType, il) Common.either list -> unit
val vk_cst : visitor_c -> ((constant, string) Common.either wrap) -> unit
val vk_cst : visitor_c -> ((constant, string) Common.either wrap) -> unit
-val vk_define_params_splitted :
+val vk_define_params_splitted :
visitor_c -> (string Ast_c.wrap, il) Common.either list -> unit
visitor_c -> (string Ast_c.wrap, il) Common.either list -> unit
-
+(* ------------------------------------------------------------------------ *)
type 'a inout = 'a -> 'a
type visitor_c_s = {
kexpr_s : expression inout * visitor_c_s -> expression inout;
kstatement_s : statement inout * visitor_c_s -> statement inout;
ktype_s : fullType inout * visitor_c_s -> fullType inout;
type 'a inout = 'a -> 'a
type visitor_c_s = {
kexpr_s : expression inout * visitor_c_s -> expression inout;
kstatement_s : statement inout * visitor_c_s -> statement inout;
ktype_s : fullType inout * visitor_c_s -> fullType inout;
+
kdecl_s : declaration inout * visitor_c_s -> declaration inout;
kdef_s : definition inout * visitor_c_s -> definition inout;
kdecl_s : declaration inout * visitor_c_s -> declaration inout;
kdef_s : definition inout * visitor_c_s -> definition inout;
+ kname_s : name inout * visitor_c_s -> name inout;
+
kini_s : initialiser inout * visitor_c_s -> initialiser inout;
kini_s : initialiser inout * visitor_c_s -> initialiser inout;
+
kcppdirective_s : (cpp_directive inout * visitor_c_s) -> cpp_directive inout;
kdefineval_s : (define_val inout * visitor_c_s) -> define_val inout;
kstatementseq_s: (statement_sequencable inout * visitor_c_s) -> statement_sequencable inout;
kcppdirective_s : (cpp_directive inout * visitor_c_s) -> cpp_directive inout;
kdefineval_s : (define_val inout * visitor_c_s) -> define_val inout;
kstatementseq_s: (statement_sequencable inout * visitor_c_s) -> statement_sequencable inout;
- kstatementseq_list_s:
+ kstatementseq_list_s:
(statement_sequencable list inout * visitor_c_s) -> statement_sequencable list inout;
(statement_sequencable list inout * visitor_c_s) -> statement_sequencable list inout;
- knode_s :
+
+ knode_s :
Control_flow_c.node inout * visitor_c_s -> Control_flow_c.node inout;
ktoplevel_s : toplevel inout * visitor_c_s -> toplevel inout;
Control_flow_c.node inout * visitor_c_s -> Control_flow_c.node inout;
ktoplevel_s : toplevel inout * visitor_c_s -> toplevel inout;
+
kinfo_s : info inout * visitor_c_s -> info inout;
}
kinfo_s : info inout * visitor_c_s -> info inout;
}
@@
-79,41
+101,54
@@
val vk_statement_s : visitor_c_s -> statement -> statement
val vk_statement_sequencable_s : visitor_c_s -> statement_sequencable -> statement_sequencable
val vk_type_s : visitor_c_s -> fullType -> fullType
val vk_decl_s : visitor_c_s -> declaration -> declaration
val vk_statement_sequencable_s : visitor_c_s -> statement_sequencable -> statement_sequencable
val vk_type_s : visitor_c_s -> fullType -> fullType
val vk_decl_s : visitor_c_s -> declaration -> declaration
+val vk_decl_list_s : visitor_c_s -> declaration list -> declaration list
val vk_ini_s : visitor_c_s -> initialiser -> initialiser
val vk_ini_s : visitor_c_s -> initialiser -> initialiser
+
+val vk_inis_splitted_s :
+ visitor_c_s ->
+ (initialiser, il) Common.either list ->
+ (initialiser, il) Common.either list
+
val vk_def_s : visitor_c_s -> definition -> definition
val vk_def_s : visitor_c_s -> definition -> definition
+val vk_name_s : visitor_c_s -> name -> name
val vk_toplevel_s : visitor_c_s -> toplevel -> toplevel
val vk_info_s : visitor_c_s -> info -> info
val vk_ii_s : visitor_c_s -> info list -> info list
val vk_node_s : visitor_c_s -> Control_flow_c.node -> Control_flow_c.node
val vk_program_s : visitor_c_s -> program -> program
val vk_toplevel_s : visitor_c_s -> toplevel -> toplevel
val vk_info_s : visitor_c_s -> info -> info
val vk_ii_s : visitor_c_s -> info list -> info list
val vk_node_s : visitor_c_s -> Control_flow_c.node -> Control_flow_c.node
val vk_program_s : visitor_c_s -> program -> program
-val vk_arguments_s :
- visitor_c_s ->
+val vk_arguments_s :
+ visitor_c_s ->
argument wrap2 list -> argument wrap2 list
argument wrap2 list -> argument wrap2 list
-val vk_args_splitted_s :
- visitor_c_s ->
- (argument, il) Common.either list ->
+val vk_args_splitted_s :
+ visitor_c_s ->
+ (argument, il) Common.either list ->
(argument, il) Common.either list
(argument, il) Common.either list
-val vk_params_s :
- visitor_c_s ->
+val vk_params_s :
+ visitor_c_s ->
parameterType wrap2 list -> parameterType wrap2 list
parameterType wrap2 list -> parameterType wrap2 list
-val vk_params_splitted_s :
- visitor_c_s ->
- (parameterType, il) Common.either list ->
+val vk_params_splitted_s :
+ visitor_c_s ->
+ (parameterType, il) Common.either list ->
(parameterType, il) Common.either list
val vk_param_s : visitor_c_s -> parameterType -> parameterType
(parameterType, il) Common.either list
val vk_param_s : visitor_c_s -> parameterType -> parameterType
-val vk_define_params_splitted_s :
- visitor_c_s ->
- (string Ast_c.wrap, il) Common.either list ->
+val vk_define_params_splitted_s :
+ visitor_c_s ->
+ (string Ast_c.wrap, il) Common.either list ->
(string Ast_c.wrap, il) Common.either list
(string Ast_c.wrap, il) Common.either list
+val vk_enum_fields_s : visitor_c_s -> enumType -> enumType
+val vk_enum_fields_splitted_s : visitor_c_s ->
+ (oneEnumType, il) Common.either list ->
+ (oneEnumType, il) Common.either list
+val vk_struct_field_s : visitor_c_s -> field -> field
val vk_struct_fields_s : visitor_c_s -> field list -> field list
val vk_struct_fields_s : visitor_c_s -> field list -> field list
-val vk_cst_s : visitor_c_s -> ((constant, string) Common.either wrap) inout
+val vk_cst_s : visitor_c_s -> ((constant, string) Common.either wrap) inout