diff -r e8b99f896416 -r 38754701ac41 stage4/generate_iec/generate_iec.cc --- 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);