[notes]
for https://github.com/antlr/antlr4/issues/1398.
Seeing through a large expression takes 5 _minutes_ on
my fast box to complete.  After fix, it's instantaneous.
Was working for C++ but I think it was not parsing correctly (Nov 2022)
So I'll make it skip for now and will add bug. I believe it is not
merging arrays properly.

[type]
Parser

[grammar]
grammar Expr;

stat : expr ';'
     | expr '.'
     ;

expr
   : ID
   | 'not' expr
   | expr 'and' expr
   | expr 'or' expr
   | '(' ID ')' expr
   | expr '?' expr ':' expr
   | 'between' expr 'and' expr
   ;

ID: [a-zA-Z_][a-zA-Z_0-9]*;
WS: [ \t\n\r\f]+ -> skip;

[start]
stat

[input]
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4 and
between X1 and X2 or between X3 and X4
;

[skip]
Python3
JavaScript
TypeScript
PHP
Go

