2015-05-21 3 views
0

Я пытаюсь проанализировать язык в ANTLR4, который не учитывает регистр, насколько это происходит с идентификаторами. Если это возможно, я хотел бы выдвинуть это на лексический, что-то вроде:Изменение значения токена в ANTLR4 lexer

IDENT : [a-zA-Z]+ { /* set token = token.toUpper() */ }

Только я не могу ничего найти в документации, которая позволила бы мне изменить значение лексемы в действии лексического анализатора и, глядя на сгенерированный код не выглядит так, как будто в действии lexer есть что-то, что разрешило бы это.

Я пропустил что-то или мне нужно обработать это в коде приложения?

ответ

0

Вы можете сделать это следующим образом:

IDENT : [a-zA-Z]+ { setText(getText().toUpperCase()); }; 

Казалось бы, предлагаемый способ, подобный пример является here

+0

С #, это свойство Text в этом случае (вместо C# метод SetText()). – mifinti

Смежные вопросы