Flex regex.relace всей строки перед началом анализа

0

Мне было интересно, можно ли использовать regex.replace в flex перед началом разбора. Есть ли предопределенная переменная, представляющая всю строку ввода?

  • 0
    Пожалуйста, расскажите, что вы хотите сделать подробно в общих чертах, вместо того, чтобы задавать вопрос, который, кажется, уже предполагает одно конкретное решение.
  • 0
    Я написал грамматику на зубре, которая предполагает, что каждое утверждение заканчивается точкой с запятой. Я почти закончил этот проект, но когда я перечитал свое назначение, я заметил, что оператор также может заканчиваться ключевым словом 'end', поэтому точка с запятой не требуется. Я думал, что самое простое решение - использовать синтаксический анализ регулярных выражений, чтобы заменить каждый «конец» входной строки на «\ nend», что приведет к совпадению токенов «SEMICOLON END», что решит мою проблему. Так как я думаю, что это нужно сделать до начала разбора, я разместил это в категории de lex. Возможно ли для lex вернуть несколько токенов?
Показать ещё 1 комментарий
Теги:
lex

1 ответ

0
Лучший ответ

Нет, нет переменной, представляющей всю входную строку.

Подумайте об этом, это будет невозможно для общего сканера, поскольку Flex должен иметь возможность обрабатывать очень большие размеры файлов и может использоваться для практически бесконечного ввода в интерактивном парсер синтаксиса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню