equal
deleted
inserted
replaced
343 s4o.print(";"); |
343 s4o.print(";"); |
344 switch (search_type_symbol->current_var_type_category) { |
344 switch (search_type_symbol->current_var_type_category) { |
345 case search_type_symbol_c::structure_vtc: |
345 case search_type_symbol_c::structure_vtc: |
346 case search_type_symbol_c::function_block_vtc: |
346 case search_type_symbol_c::function_block_vtc: |
347 this->current_var_type_name->accept(*this); |
347 this->current_var_type_name->accept(*this); |
348 s4o.print(";\n"); |
348 s4o.print(";;\n"); |
349 if (this->current_var_class_category != external_vcc) { |
349 if (this->current_var_class_category != external_vcc) { |
350 SYMBOL *current_name; |
350 SYMBOL *current_name; |
351 symbol_c *tmp_var_type; |
351 symbol_c *tmp_var_type; |
352 current_name = new SYMBOL; |
352 current_name = new SYMBOL; |
353 current_name->symbol = symbol; |
353 current_name->symbol = symbol; |
358 this->current_var_type_symbol = tmp_var_type; |
358 this->current_var_type_symbol = tmp_var_type; |
359 } |
359 } |
360 break; |
360 break; |
361 case search_type_symbol_c::array_vtc: |
361 case search_type_symbol_c::array_vtc: |
362 this->current_var_type_name->accept(*this); |
362 this->current_var_type_name->accept(*this); |
363 s4o.print(";\n"); |
363 s4o.print(";;\n"); |
364 break; |
364 break; |
365 default: |
365 default: |
|
366 // base type name |
366 this->current_var_type_symbol->accept(*this); |
367 this->current_var_type_symbol->accept(*this); |
|
368 s4o.print(";"); |
|
369 // type name (eventualy derived) |
|
370 this->current_var_type_name->accept(*this); |
367 s4o.print(";\n"); |
371 s4o.print(";\n"); |
368 break; |
372 break; |
369 } |
373 } |
370 } |
374 } |
371 |
375 |
874 symbol->step_name->accept(*this); |
878 symbol->step_name->accept(*this); |
875 s4o.print(".X;"); |
879 s4o.print(".X;"); |
876 print_symbol_list(); |
880 print_symbol_list(); |
877 s4o.print("__step_list["); |
881 s4o.print("__step_list["); |
878 print_step_number(); |
882 print_step_number(); |
879 s4o.print("].X;BOOL;\n"); |
883 s4o.print("].X;BOOL;BOOL;\n"); |
880 step_number++; |
884 step_number++; |
881 return NULL; |
885 return NULL; |
882 } |
886 } |
883 |
887 |
884 /* STEP step_name ':' action_association_list END_STEP */ |
888 /* STEP step_name ':' action_association_list END_STEP */ |
890 symbol->step_name->accept(*this); |
894 symbol->step_name->accept(*this); |
891 s4o.print(".X;"); |
895 s4o.print(".X;"); |
892 print_symbol_list(); |
896 print_symbol_list(); |
893 s4o.print("__step_list["); |
897 s4o.print("__step_list["); |
894 print_step_number(); |
898 print_step_number(); |
895 s4o.print("].X;BOOL;\n"); |
899 s4o.print("].X;BOOL;BOOL;\n"); |
896 step_number++; |
900 step_number++; |
897 return NULL; |
901 return NULL; |
898 } |
902 } |
899 |
903 |
900 /* TRANSITION [transition_name] ['(' PRIORITY ASSIGN integer ')'] |
904 /* TRANSITION [transition_name] ['(' PRIORITY ASSIGN integer ')'] |
914 symbol->to_steps->accept(*this); |
918 symbol->to_steps->accept(*this); |
915 s4o.print(";"); |
919 s4o.print(";"); |
916 print_symbol_list(); |
920 print_symbol_list(); |
917 s4o.print("__debug_transition_list["); |
921 s4o.print("__debug_transition_list["); |
918 print_transition_number(); |
922 print_transition_number(); |
919 s4o.print("];BOOL;\n"); |
923 s4o.print("];BOOL;BOOL;\n"); |
920 transition_number++; |
924 transition_number++; |
921 return NULL; |
925 return NULL; |
922 } |
926 } |
923 |
927 |
924 /* step_name | '(' step_name_list ')' */ |
928 /* step_name | '(' step_name_list ')' */ |
953 symbol->action_name->accept(*this); |
957 symbol->action_name->accept(*this); |
954 s4o.print(".Q;"); |
958 s4o.print(".Q;"); |
955 print_symbol_list(); |
959 print_symbol_list(); |
956 s4o.print("__action_list["); |
960 s4o.print("__action_list["); |
957 print_action_number(); |
961 print_action_number(); |
958 s4o.print("].state;BOOL;\n"); |
962 s4o.print("].state;BOOL;BOOL;\n"); |
959 action_number++; |
963 action_number++; |
960 return NULL; |
964 return NULL; |
961 } |
965 } |
962 |
966 |
963 |
967 |