equal
deleted
inserted
replaced
1035 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1035 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1036 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1036 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1037 |
1037 |
1038 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1038 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// |
1039 |
1039 |
|
1040 |
|
1041 |
|
1042 |
1040 /* sequential_function_chart {sfc_network} */ |
1043 /* sequential_function_chart {sfc_network} */ |
1041 void *visit(sequential_function_chart_c *symbol) { |
1044 void *visit(sequential_function_chart_c *symbol) { |
1042 print_list(symbol, "", "\n\n", ""); |
1045 print_list(symbol, "", "\n\n", ""); |
1043 return NULL; |
1046 return NULL; |
1044 } |
1047 } |
1118 return NULL; |
1121 return NULL; |
1119 } |
1122 } |
1120 |
1123 |
1121 /* N | R | S | P */ |
1124 /* N | R | S | P */ |
1122 void *visit(qualifier_c *symbol) { |
1125 void *visit(qualifier_c *symbol) { |
1123 symbol->accept(*this); |
1126 symbol->accept(*this); |
1124 return NULL; |
1127 return NULL; |
1125 } |
1128 } |
1126 |
1129 |
1127 /* L | D | SD | DS | SL */ |
1130 /* L | D | SD | DS | SL */ |
1128 void *visit(timed_qualifier_c *symbol) { |
1131 void *visit(timed_qualifier_c *symbol) { |
1129 symbol->accept(*this); |
1132 symbol->accept(*this); |
1130 return NULL; |
1133 return NULL; |
1131 } |
1134 } |
1132 |
1135 |
|
1136 /* TRANSITION [transition_name] ['(' 'PRIORITY' ':=' integer ')'] |
|
1137 * FROM steps TO steps |
|
1138 * transition_condition |
|
1139 * END_TRANSITION |
|
1140 */ |
1133 void *visit(transition_c *symbol) { |
1141 void *visit(transition_c *symbol) { |
1134 s4o.print(s4o.indent_spaces); |
1142 s4o.print(s4o.indent_spaces); |
1135 s4o.print("TRANSITION "); |
1143 s4o.print("TRANSITION "); |
1136 if (symbol->transition_name != NULL){ |
1144 if (symbol->transition_name != NULL){ |
1137 symbol->transition_name->accept(*this); |
1145 symbol->transition_name->accept(*this); |
1158 s4o.print(s4o.indent_spaces); |
1166 s4o.print(s4o.indent_spaces); |
1159 s4o.print("END_TRANSITION"); |
1167 s4o.print("END_TRANSITION"); |
1160 return NULL; |
1168 return NULL; |
1161 } |
1169 } |
1162 |
1170 |
|
1171 /* step_name | step_name_list */ |
1163 void *visit(steps_c *symbol) { |
1172 void *visit(steps_c *symbol) { |
1164 if(symbol->step_name != NULL){ |
1173 if(symbol->step_name != NULL){ |
1165 symbol->step_name->accept(*this); |
1174 symbol->step_name->accept(*this); |
1166 s4o.print(" "); |
1175 s4o.print(" "); |
1167 } |
1176 } |
1169 symbol->step_name_list->accept(*this); |
1178 symbol->step_name_list->accept(*this); |
1170 } |
1179 } |
1171 return NULL; |
1180 return NULL; |
1172 } |
1181 } |
1173 |
1182 |
|
1183 /* '(' step_name ',' step_name {',' step_name} ')' */ |
1174 void *visit(step_name_list_c *symbol) { |
1184 void *visit(step_name_list_c *symbol) { |
1175 print_list(symbol, "(", ", ", ") "); |
1185 print_list(symbol, "(", ", ", ") "); |
1176 return NULL; |
1186 return NULL; |
1177 } |
1187 } |
1178 |
1188 |
|
1189 /* ':' simple_instr_list | ':=' expression */ |
1179 void *visit(transition_condition_c *symbol) { |
1190 void *visit(transition_condition_c *symbol) { |
1180 if (symbol->simple_instr_list != NULL) { |
1191 if (symbol->simple_instr_list != NULL) { |
1181 s4o.print(s4o.indent_spaces); |
1192 s4o.print(s4o.indent_spaces); |
1182 s4o.print(":\n"); |
1193 s4o.print(":\n"); |
1183 symbol->simple_instr_list->accept(*this); |
1194 symbol->simple_instr_list->accept(*this); |
1190 s4o.print(";\n"); |
1201 s4o.print(";\n"); |
1191 } |
1202 } |
1192 return NULL; |
1203 return NULL; |
1193 } |
1204 } |
1194 |
1205 |
|
1206 /* ACTION action_name ':' function_block_body END_ACTION */ |
1195 void *visit(action_c *symbol) { |
1207 void *visit(action_c *symbol) { |
1196 s4o.print(s4o.indent_spaces); |
1208 s4o.print(s4o.indent_spaces); |
1197 s4o.print("ACTION "); |
1209 s4o.print("ACTION "); |
1198 symbol->action_name->accept(*this); |
1210 symbol->action_name->accept(*this); |
1199 s4o.print(": "); |
1211 s4o.print(": "); |
1200 s4o.indent_right(); |
1212 s4o.indent_right(); |
1201 s4o.print(s4o.indent_spaces); |
1213 s4o.print(s4o.indent_spaces); |
1202 symbol->function_block_body->accept(*this); |
1214 symbol->function_block_body->accept(*this); |
1203 s4o.print("\n "); |
1215 s4o.print("\n "); |
1204 s4o.indent_left(); |
1216 s4o.indent_left(); |
1205 s4o.print(s4o.indent_spaces); |
1217 s4o.print(s4o.indent_spaces); |
1206 s4o.print("END_ACTION"); |
1218 s4o.print("END_ACTION"); |
1207 return NULL; |
1219 return NULL; |
1208 } |
1220 } |
1209 |
1221 |
1210 |
1222 |
1211 |
1223 |
1212 /********************************/ |
1224 /********************************/ |
1213 /* B 1.7 Configuration elements */ |
1225 /* B 1.7 Configuration elements */ |
1214 /********************************/ |
1226 /********************************/ |
1215 /* |
1227 /* |
1216 CONFIGURATION configuration_name |
1228 CONFIGURATION configuration_name |