Может ли Бизон разобрать символы UTF-8?

Я пытаюсь сделать парсер Bison для обработки символов UTF-8. Я не хочу, чтобы синтаксический анализатор фактически интерпретировал значения символов Unicode, но я хочу, чтобы он анализировал строку UTF-8 как последовательность байтов.

Сейчас Bison генерирует следующий код, который проблематичен:

  if (yychar <= YYEOF)
    {
      yychar = yytoken = YYEOF;
      YYDPRINTF ((stderr, "Now at end of input.\n"));
    }

Проблема в том, что многие байты строки UTF-8 будут иметь отрицательное значение, а Bison интерпретирует отрицательные значения как EOF и останавливается.

Это можно обойти?

Ответы на вопрос(3)

Ваш ответ на вопрос