Строка или число для символов с помощью jflex

Я использую jflex, и я должен распознавать символы, которые могут быть:

  • Нормальные символы, такие как "а"
  • Числа, такие как \126

Я сделал это регулярное выражение (Integer это макрос уже определен):

Character = (\'.\')|(\'\\{Integer}\')

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

{Character} { this.yylval = new Character(yytext());
              return Parser.CHARACTER; }

Любая идея?

1 ответ

Вы должны написать действительный Java: единственный конструктор для персонажа Character(char) но вы вызываете Character(String),

Вам нужно извлечь то, что вы хотите от yytext(),

Другие вопросы по тегам