[notes]
This is a regression test for antlr/antlr4#677 "labels not working in grammar
file".  https://github.com/antlr/antlr4/issues/677
This test treats `,` and `>>` as part of a single compound operator (similar
to a ternary operator).

[type]
Parser

[grammar]
grammar T;
s @after {<ToStringTree("$ctx"):writeln()>} : expr EOF;
expr:
    a=expr '*' a=expr #Factor
    | b+=expr ',' b+=expr #Comma
    | b+=expr '>>' c=expr #Send
    | ID #JustId //semantic check on modifiers
   ;
ID  : ('a'..'z'|'A'..'Z'|'_')
      ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
;
WS : [ \t\n]+ -> skip ;

[start]
s

[input]
a*b,c,x*y>>r

[output]
"""(s (expr (expr (expr (expr (expr a) * (expr b)) , (expr c)) , (expr (expr x) * (expr y))) >> (expr r)) <EOF>)
"""

