Параметризованный токен JFlex - PullRequest
2 голосов
/ 04 марта 2020

Я хочу разобрать выражения следующей структуры:

compositeKey ::= key (separator key)*

Вот фрагмент гибкого кода:

KEY_CHARACTER=[^:\s]
KEY_SEPARATOR=[:]

%state WAITING_KEY

...
<WAITING_KEY> {KEY_CHARACTER}+        { yybegin(WAITING_KEY); return MyTypes.KEY; }
<WAITING_KEY> {KEY_SEPARATOR}         { yybegin(WAITING_KEY); return MyTypes.KEY_SEPARATOR; }

Код, сгенерированный данным фрагментом гибкого диска, работает нормально, но что если Я хочу получить разделитель ключей во время выполнения? На самом деле это может быть любой символ, указанный пользователем. Как это сделать с помощью jflex?

...