Lex / Flex - сканирование на наличие символа EOF - PullRequest
11 голосов
/ 07 июля 2011

У других людей была следующая проблема, с которой я столкнулся, но я не могу найти никого, кто сообщит о решении ... заставить Flex определить EOF (конец файла). Мне нужен Flex, чтобы найти EOF и вернуть токен, указывающий, что он его нашел, чтобы он мог сообщить Yacc / Bison, что он достиг конца исходного файла ввода и может сообщить об успешном разборе.

Обратите внимание, что этот вопрос не такой, как этот, потому что речь идет о Lex / Flex.

Любая помощь будет потрясающей. Спасибо.

1 Ответ

26 голосов
/ 07 июля 2011

Flex имеет шаблон <<EOF>>, который соответствует только концу файла.Возможно, вы можете вернуть некоторый токен, указывающий конец файла, в синтаксический анализатор следующим образом:

<<EOF>>     return END_OF_FILE;
...