[type]
Parser

[grammar]
grammar T;
start : statement+ ;
statement : 'x' | ifStatement;
ifStatement : 'if' 'y' statement ('else' statement)? {
<writeln("$text")>
};
ID : 'a'..'z'+ ;
WS : (' '|'\n') -> channel(HIDDEN);

[start]
start

[input]
if y if y x else x

[output]
if y x else x
if y if y x else x

