--- a/stage4/generate_iec/generate_iec.cc Tue Feb 20 18:17:21 2007 +0100
+++ b/stage4/generate_iec/generate_iec.cc Fri Feb 23 19:19:23 2007 +0100
@@ -1118,7 +1118,7 @@
/* TRANSITION [transition_name] ['(' 'PRIORITY' ':=' integer ')']
* FROM steps TO steps
- * transition_condition
+ * ':' simple_instr_list | ':=' expression
* END_TRANSITION
*/
void *visit(transition_c *symbol) {
@@ -1139,10 +1139,15 @@
symbol->to_steps->accept(*this);
s4o.indent_right();
if (symbol->transition_condition_il != NULL) {
- symbol->transition_condition_il->accept(*this);
+ s4o.print(":\n");
+ symbol->transition_condition_il->accept(*this);
}
if (symbol->transition_condition_st != NULL) {
- symbol->transition_condition_st->accept(*this);
+ s4o.print("\n");
+ s4o.print(s4o.indent_spaces);
+ s4o.print(":= ");
+ symbol->transition_condition_st->accept(*this);
+ s4o.print(";\n");
}
s4o.indent_left();
s4o.print(s4o.indent_spaces);
@@ -1167,22 +1172,6 @@
return NULL;
}
-/* ':' simple_instr_list | ':=' expression */
-void *visit(transition_condition_c *symbol) {
- if (symbol->simple_instr_list != NULL) {
- s4o.print(":\n");
- symbol->simple_instr_list->accept(*this);
- }
- if (symbol->expression != NULL) {
- s4o.print("\n");
- s4o.print(s4o.indent_spaces);
- s4o.print(":= ");
- symbol->expression->accept(*this);
- s4o.print(";\n");
- }
- return NULL;
-}
-
/* ACTION action_name ':' function_block_body END_ACTION */
void *visit(action_c *symbol) {
s4o.print(s4o.indent_spaces);