equal
deleted
inserted
replaced
1116 return NULL; |
1116 return NULL; |
1117 } |
1117 } |
1118 |
1118 |
1119 /* TRANSITION [transition_name] ['(' 'PRIORITY' ':=' integer ')'] |
1119 /* TRANSITION [transition_name] ['(' 'PRIORITY' ':=' integer ')'] |
1120 * FROM steps TO steps |
1120 * FROM steps TO steps |
1121 * transition_condition |
1121 * ':' simple_instr_list | ':=' expression |
1122 * END_TRANSITION |
1122 * END_TRANSITION |
1123 */ |
1123 */ |
1124 void *visit(transition_c *symbol) { |
1124 void *visit(transition_c *symbol) { |
1125 s4o.print(s4o.indent_spaces); |
1125 s4o.print(s4o.indent_spaces); |
1126 s4o.print("TRANSITION "); |
1126 s4o.print("TRANSITION "); |
1137 symbol->from_steps->accept(*this); |
1137 symbol->from_steps->accept(*this); |
1138 s4o.print(" TO "); |
1138 s4o.print(" TO "); |
1139 symbol->to_steps->accept(*this); |
1139 symbol->to_steps->accept(*this); |
1140 s4o.indent_right(); |
1140 s4o.indent_right(); |
1141 if (symbol->transition_condition_il != NULL) { |
1141 if (symbol->transition_condition_il != NULL) { |
1142 symbol->transition_condition_il->accept(*this); |
1142 s4o.print(":\n"); |
|
1143 symbol->transition_condition_il->accept(*this); |
1143 } |
1144 } |
1144 if (symbol->transition_condition_st != NULL) { |
1145 if (symbol->transition_condition_st != NULL) { |
1145 symbol->transition_condition_st->accept(*this); |
1146 s4o.print("\n"); |
|
1147 s4o.print(s4o.indent_spaces); |
|
1148 s4o.print(":= "); |
|
1149 symbol->transition_condition_st->accept(*this); |
|
1150 s4o.print(";\n"); |
1146 } |
1151 } |
1147 s4o.indent_left(); |
1152 s4o.indent_left(); |
1148 s4o.print(s4o.indent_spaces); |
1153 s4o.print(s4o.indent_spaces); |
1149 s4o.print("END_TRANSITION\n"); |
1154 s4o.print("END_TRANSITION\n"); |
1150 return NULL; |
1155 return NULL; |
1162 } |
1167 } |
1163 |
1168 |
1164 /* '(' step_name ',' step_name {',' step_name} ')' */ |
1169 /* '(' step_name ',' step_name {',' step_name} ')' */ |
1165 void *visit(step_name_list_c *symbol) { |
1170 void *visit(step_name_list_c *symbol) { |
1166 print_list(symbol, "(", ", ", ")"); |
1171 print_list(symbol, "(", ", ", ")"); |
1167 return NULL; |
|
1168 } |
|
1169 |
|
1170 /* ':' simple_instr_list | ':=' expression */ |
|
1171 void *visit(transition_condition_c *symbol) { |
|
1172 if (symbol->simple_instr_list != NULL) { |
|
1173 s4o.print(":\n"); |
|
1174 symbol->simple_instr_list->accept(*this); |
|
1175 } |
|
1176 if (symbol->expression != NULL) { |
|
1177 s4o.print("\n"); |
|
1178 s4o.print(s4o.indent_spaces); |
|
1179 s4o.print(":= "); |
|
1180 symbol->expression->accept(*this); |
|
1181 s4o.print(";\n"); |
|
1182 } |
|
1183 return NULL; |
1172 return NULL; |
1184 } |
1173 } |
1185 |
1174 |
1186 /* ACTION action_name ':' function_block_body END_ACTION */ |
1175 /* ACTION action_name ':' function_block_body END_ACTION */ |
1187 void *visit(action_c *symbol) { |
1176 void *visit(action_c *symbol) { |