У меня есть пара токенов:
PNAME
и ENAME
- оба являются строками.
Теперь я хочу настроить 2 правила в своем лексере, чтобы сопоставить эти токены.
Первое правило (PNAME
) должно совпадать, когда строка состоит из символов a–z и необязательных специальных символов @/().
Второе правило (ENAME
) должно совпадать, когда строка состоит из символов от a до z и необязательного префикса (#/.).
Теперь, как мне составить правило в моем файле лексера, которое будет соответствовать только ENAME
- даже если нет префикса?
Если это имеет какое-то значение, то ENAME
будет иметь {
после строки типа: (prefix)eName {
- Однако эту скобку не следует передавать в синтаксический анализатор...
Какие-либо предложения?