Как сделать pu sh режимом по умолчанию в antlr4 - PullRequest
1 голос
/ 11 марта 2020

Я сейчас пишу грамматику antrl4 с несколькими лексическими режимами. И очень просто выбрать режимы * sh, которые имеют явное имя, а затем вернуться в режим по умолчанию, нажав текущий режим.

OPEN_PARENTHESIS : '(' -> pushMode(IN_PARENTHESES);

mode IN_PARENTHESES;

CLOSE_PARENTHESIS : ')' -> popMode;

Но сейчас я нахожусь в ситуации, когда на стек, и я все еще хочу вернуться в режим по умолчанию, не выталкивая все, что находится в стеке. Итак, мой вопрос: возможно ли вернуться в режим по умолчанию, выполнив что-то вроде pushMode(DEFAULT)?

1 Ответ

1 голос
/ 11 марта 2020

Я думаю, что вы ищете -> mode(DEFAULT_MODE)

См .: https://github.com/antlr/antlr4/blob/master/doc/lexer-rules.md#mode -pushmode-popmode-and-more

...