1035 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1035 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1036 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1036 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1037 |
1037 |
1038 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1038 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1039 |
1039 |
|
1040 /* sequential_function_chart {sfc_network} */ |
1040 void *visit(sequential_function_chart_c *symbol) { |
1041 void *visit(sequential_function_chart_c *symbol) { |
1041 print_list(symbol, "", "\n\n", ""); |
1042 print_list(symbol, "", "\n\n", ""); |
1042 return NULL; |
1043 return NULL; |
1043 } |
1044 } |
1044 |
1045 |
|
1046 /* sfc_network {step | transition | action} */ |
1045 void *visit(sfc_network_c *symbol) { |
1047 void *visit(sfc_network_c *symbol) { |
1046 print_list(symbol, "", "\n\n", ""); |
1048 print_list(symbol, "", "\n\n", ""); |
1047 return NULL; |
1049 return NULL; |
1048 } |
1050 } |
1049 |
1051 |
|
1052 /* INITIAL_STEP step_name ':' [action_association_list] END_STEP */ |
1050 void *visit(initial_step_c *symbol) { |
1053 void *visit(initial_step_c *symbol) { |
1051 s4o.print(s4o.indent_spaces); |
1054 s4o.print(s4o.indent_spaces); |
1052 s4o.print("INITIAL_STEP "); |
1055 s4o.print("INITIAL_STEP "); |
1053 symbol->step_name->accept(*this); |
1056 symbol->step_name->accept(*this); |
1054 s4o.print(" :\n"); |
1057 s4o.print(" :\n"); |
1059 s4o.print(s4o.indent_spaces); |
1062 s4o.print(s4o.indent_spaces); |
1060 s4o.print("END_STEP "); |
1063 s4o.print("END_STEP "); |
1061 return NULL; |
1064 return NULL; |
1062 } |
1065 } |
1063 |
1066 |
|
1067 /* STEP step_name ':' [action_association_list] END_STEP */ |
1064 void *visit(step_c *symbol) { |
1068 void *visit(step_c *symbol) { |
1065 s4o.print(s4o.indent_spaces); |
1069 s4o.print(s4o.indent_spaces); |
1066 s4o.print("STEP "); |
1070 s4o.print("STEP "); |
1067 symbol->step_name->accept(*this); |
1071 symbol->step_name->accept(*this); |
1068 s4o.print(" :\n"); |
1072 s4o.print(" :\n"); |
1073 s4o.print(s4o.indent_spaces); |
1077 s4o.print(s4o.indent_spaces); |
1074 s4o.print("END_STEP "); |
1078 s4o.print("END_STEP "); |
1075 return NULL; |
1079 return NULL; |
1076 } |
1080 } |
1077 |
1081 |
|
1082 /* action_association_list {action_association} */ |
1078 void *visit(action_association_list_c *symbol) { |
1083 void *visit(action_association_list_c *symbol) { |
1079 print_list(symbol, "", "\n", ""); |
1084 print_list(symbol, "", "\n", ""); |
1080 return NULL; |
1085 return NULL; |
1081 } |
1086 } |
1082 |
1087 |
|
1088 /* action_name '(' [action_qualifier] [indicator_name_list] ')' */ |
1083 void *visit(action_association_c *symbol) { |
1089 void *visit(action_association_c *symbol) { |
1084 if(symbol->action_qualifier != NULL){ |
1090 if(symbol->action_qualifier != NULL){ |
1085 symbol->action_name->accept(*this); |
1091 symbol->action_name->accept(*this); |
1086 } |
1092 } |
1087 s4o.print(" ("); |
1093 s4o.print(" ("); |
1088 if(symbol->action_qualifier != NULL){ |
1094 if(symbol->action_qualifier != NULL){ |
1089 symbol->action_qualifier->accept(*this); |
1095 symbol->action_qualifier->accept(*this); |
1090 } |
1096 } |
1091 s4o.print(" "); |
1097 s4o.print(" "); |
1092 if(symbol->action_qualifier != NULL){ |
1098 if(symbol->indicator_name_list != NULL){ |
1093 symbol->indicator_name_list->accept(*this); |
1099 symbol->indicator_name_list->accept(*this); |
1094 } |
1100 } |
1095 s4o.print(" )"); |
1101 s4o.print(" )"); |
1096 return NULL; |
1102 return NULL; |
1097 } |
1103 } |
1098 |
1104 |
|
1105 /* indicator_name_list ',' indicator_name */ |
1099 void *visit(indicator_name_list_c *symbol) { |
1106 void *visit(indicator_name_list_c *symbol) { |
1100 print_list(symbol, "", ", ", ""); |
1107 print_list(symbol, "", ", ", ""); |
1101 return NULL; |
1108 return NULL; |
1102 } |
1109 } |
1103 |
1110 |
|
1111 /* action_qualifier [',' action_time] */ |
1104 void *visit(action_qualifier_c *symbol) { |
1112 void *visit(action_qualifier_c *symbol) { |
1105 symbol->action_qualifier->accept(*this); |
1113 symbol->action_qualifier->accept(*this); |
1106 symbol->action_time->accept(*this); |
1114 if(symbol->action_time != NULL){ |
1107 return NULL; |
1115 s4o.print(", "); |
1108 } |
1116 symbol->action_time->accept(*this); |
1109 |
1117 } |
|
1118 return NULL; |
|
1119 } |
|
1120 |
|
1121 /* N | R | S | P */ |
1110 void *visit(qualifier_c *symbol) { |
1122 void *visit(qualifier_c *symbol) { |
1111 symbol->accept(*this); |
1123 symbol->accept(*this); |
1112 return NULL; |
1124 return NULL; |
1113 } |
1125 } |
1114 |
1126 |
|
1127 /* L | D | SD | DS | SL */ |
1115 void *visit(timed_qualifier_c *symbol) { |
1128 void *visit(timed_qualifier_c *symbol) { |
1116 symbol->accept(*this); |
1129 symbol->accept(*this); |
1117 return NULL; |
1130 return NULL; |
1118 } |
1131 } |
1119 |
1132 |