Моя грамматика проста, но я хочу, чтобы она принимала некоторые строки для конкатенации. Эта формула должна быть действительной:
CONCATENATE(10;" €" )
Проблема в том, что символ евро. Раньше я использовал это в своей грамматике, это очень хорошо работало для символа степени:
fragment SPECIAL : '\u00B0';
Но символ евро работает не так, как этот символ градуса:
fragment SPECIAL : '\u00B0' | '\u20AC'
Я создаю синтаксический анализатор PHP с ANTLR 3.4, и сгенерированный код лексера для символа степени следующий:
$this->getToken('176')== $LA26 || ...
И он должен рекламировать это для символа евро. Если я добавлю его вручную после генерации парсера (есть 2 места для добавления), он будет работать!
$this->getToken('128')== $LA26 || ...
Мой вопрос: как добавить это в грамматику, чтобы получить генерацию этого кода? Есть ли проблема с этим диапазоном символов Юникода, начиная с чего-то wlse, чем u00 ... потому что все мои другие СПЕЦИАЛЬНЫЕ символы начинаются с \ u00
Большое спасибо за время, проведенное со мной. С уважением, Николас.