a/c99.y | b/c2iec.y | ||
---|---|---|---|
... |
... |
||
543 | | selection_statement |
543 | | selection_statement |
544 | | iteration_statement |
544 | | iteration_statement |
545 | | jump_statement |
545 | | jump_statement |
546 | ; |
546 | ; |
547 | 547 | ||
548 | case_statement |
||
549 | : labeled_statement |
||
550 | | compound_statement |
||
551 | | expression_statement |
||
552 | | selection_statement |
||
553 | | iteration_statement |
||
554 | | jump_statement |
||
555 | { strcpy($<str>$, ""); } |
||
556 | ; |
||
557 | |||
548 | labeled_statement |
558 | labeled_statement |
549 | : IDENTIFIER ':' statement |
559 | : IDENTIFIER ':' statement |
550 | | CASE constant_expression ':' statement |
560 | | CASE constant_expression ':' case_statement |
561 | { sprintf($<str>$, "%s:\n%s",$<str>2, $<str>4); } |
||
551 | | DEFAULT ':' statement |
562 | | DEFAULT ':' statement |
552 | ; |
563 | ; |
553 | 564 | ||
554 | compound_statement |
565 | compound_statement |
555 | : '{' '}' |
566 | : '{' '}' |
... |
... |
||
577 | 588 | ||
578 | selection_statement |
589 | selection_statement |
579 | : IF '(' expression ')' statement |
590 | : IF '(' expression ')' statement |
580 | | IF '(' expression ')' statement ELSE statement |
591 | | IF '(' expression ')' statement ELSE statement |
581 | | SWITCH '(' expression ')' statement |
592 | | SWITCH '(' expression ')' statement |
593 | { sprintf($<str>$, "CASE %s OF\n %s\nEND_CASE",$<str>3, $<str>5); } |
||
582 | ; |
594 | ; |
583 | 595 | ||
584 | iteration_statement |
596 | iteration_statement |
585 | : WHILE '(' expression ')' statement |
597 | : WHILE '(' expression ')' statement |
586 | { sprintf($<str>$, "WHILE %s DO\n%s\nEND_WHILE\n",$<str>3, $<str>5); } |
598 | { sprintf($<str>$, "WHILE %s DO\n%s\nEND_WHILE\n",$<str>3, $<str>5); } |