--- a/absyntax_utils/function_param_iterator.cc Wed Sep 26 20:12:39 2012 +0200
+++ b/absyntax_utils/function_param_iterator.cc Thu Sep 27 18:14:52 2012 +0100
@@ -442,7 +442,6 @@
//SYM_REF2(array_var_init_decl_c, var1_list, array_spec_init)
void *function_param_iterator_c::visit(array_var_init_decl_c *symbol) {
TRACE("array_var_init_decl_c");
-
current_param_default_value = spec_init_sperator_c::get_init(symbol->array_spec_init);
current_param_type = spec_init_sperator_c::get_spec(symbol->array_spec_init);
@@ -460,6 +459,26 @@
return symbol->var1_list->accept(*this);
}
+
+
+
+/* fb_name_list ':' function_block_type_name ASSIGN structure_initialization */
+/* structure_initialization -> may be NULL ! */
+// SYM_REF3(fb_name_decl_c, fb_name_list, function_block_type_name, structure_initialization)
+void *function_param_iterator_c::visit(fb_name_decl_c *symbol) {
+ TRACE("structured_var_init_decl_c");
+ current_param_default_value = symbol->structure_initialization ;
+ current_param_type = symbol->function_block_type_name ;
+
+ return symbol->fb_name_list->accept(*this);
+}
+
+
+/* fb_name_list ',' fb_name */
+// SYM_LIST(fb_name_list_c)
+void *function_param_iterator_c::visit(fb_name_list_c *symbol) {TRACE("fb_name_list_c"); return handle_param_list(symbol);}
+
+
void *function_param_iterator_c::visit(output_declarations_c *symbol) {
TRACE("output_declarations_c");
current_param_direction = direction_out;
@@ -496,22 +515,18 @@
/* var1_list ':' array_specification */
//SYM_REF2(array_var_declaration_c, var1_list, array_specification)
void *function_param_iterator_c::visit(array_var_declaration_c *symbol) {
- TRACE("array_var_declaration_c");
-
- current_param_default_value = NULL;
- current_param_type = symbol->array_specification;
-
- return symbol->var1_list->accept(*this);
+ TRACE("array_var_declaration_c");
+ current_param_default_value = NULL;
+ current_param_type = symbol->array_specification;
+ return symbol->var1_list->accept(*this);
}
/* var1_list ':' structure_type_name */
//SYM_REF2(structured_var_declaration_c, var1_list, structure_type_name)
void *function_param_iterator_c::visit(structured_var_declaration_c *symbol) {
TRACE("structured_var_declaration_c");
-
current_param_default_value = NULL;
current_param_type = symbol->structure_type_name;
-
return symbol->var1_list->accept(*this);
}
--- a/absyntax_utils/function_param_iterator.hh Wed Sep 26 20:12:39 2012 +0200
+++ b/absyntax_utils/function_param_iterator.hh Thu Sep 27 18:14:52 2012 +0100
@@ -193,15 +193,15 @@
//SYM_REF2(structured_var_init_decl_c, var1_list, initialized_structure)
void *visit(structured_var_init_decl_c *symbol);
-#if 0
-/* name_list ':' function_block_type_name ASSIGN structure_initialization */
-/* structure_initialization -> may be NULL ! */
-SYM_REF4(fb_name_decl_c, fb_name_list, function_block_type_name, structure_initialization, unused)
-
-/* name_list ',' fb_name */
-SYM_LIST(fb_name_list_c)
-#endif
-
+ /* name_list ':' function_block_type_name ASSIGN structure_initialization */
+ /* structure_initialization -> may be NULL ! */
+ // SYM_REF4(fb_name_decl_c, fb_name_list, function_block_type_name, structure_initialization, unused)
+ void *visit(fb_name_decl_c *symbol);
+
+ /* name_list ',' fb_name */
+ // SYM_LIST(fb_name_list_c)
+ void *visit(fb_name_list_c *symbol);
+
void *visit(output_declarations_c *symbol);
void *visit(eno_param_declaration_c *symbol);
void *visit(input_output_declarations_c *symbol);