На самом деле я просто извлекаю часть грамматики T-SQL (https://github.com/antlr/grammars-v4). В частности, часть, которая имеет дело с WHERE
-классом, минус любая логика подзапроса. К сожалению, похоже, что
expression
: primitive_expression
| function_call
| expression COLLATE id
| case_expression
| full_column_name
| bracket_expression
| unary_operator_expression
| expression op=(ASTERSIK | SLASH_F | P_SIGN) expression
| expression op=(PLUS | HYPHEN | AMPERSAND | CARET | PIPE | (PIPE PIPE)) expression
| expression comparison_operator expression
| expression assignment_operator expression
| over_clause
;
сам по себе является рекурсивным. Я не уверен, почему я получаю ошибку, а весь проект - нет.