2012-01-02 2 views
2

Flex предоставляет механизм для создания и переключения между несколькими входными буферами. Буфер ввода создается с помощью: yy_creat_buffer и дает возможность переключать входной поток с помощью yy_switch_buffer.Буфер для замены Lex yacc

Проблема заключается в том, что lex не реализует такое решение.

вы можете найти более in the Flex manual

ответ

1

К сожалению, никакого подобного решения в Лекса, и если кто-нибудь знает один, пожалуйста, пожалуйста, дайте нам.

Единственная возможность заключается в том, что вы переопределяете yywrap(), который вызывается всякий раз, когда Лекс достигает конца файла.

В этом случае вы должны указать yywrap(), который организует новый ввод и возвращает 0. Это дает указание Лексу продолжить обработку. По умолчанию yywrap всегда возвращает 1 (без добавленного ввода).

Смежные вопросы