私はantlrを初めて使用するので、構文述語に多くの問題があります。私は、antlr4 で構文解析するために、natty grammar の一部であるこの文法を変換しようとしましたが、意味のある方法でそれを変更する方法を本当に混乱させました。
date_time
: (
(date)=>date (date_time_separator explicit_time)?
| explicit_time (time_date_separator date)?
) -> ^(DATE_TIME date? explicit_time?)
| relative_time -> ^(DATE_TIME relative_time?)
;`