Гибкий сгенерированный файл не может быть использован?
Я использую Flex Lexer в качестве лексера для моего проекта компилятора, и у меня есть эта функция, чтобы изменить поток ввода лексера следующим образом:
.l
void initLexer(string code) {
lineNumber = 1;
columnNumber = 0;
currentStringIndex = 0;
yy_delete_buffer(YY_CURRENT_BUFFER);
YY_BUFFER_STATE my_string_buffer = yy_scan_string("sh");
yy_switch_to_buffer(my_string_buffer);
}
и я использую следующие опции для генерации подходящих процедур
%option nounput
%option nomain nodefault
%option noyywrap
%option warn
%option c++
после запуска инструмента flex lexer и получения автоматически сгенерированного файла cpp я пытаюсь построить свой проект, но он не может распознать
error C2065: 'yy_current_buffer' : undeclared identifier
error C3861: 'yy_delete_buffer': identifier not found
error C3861: 'yy_scan_string': identifier not found
error C3861: 'yy_switch_to_buffer': identifier not found
Зачем?? Что я должен делать??
1 ответ
Мое решение этой проблемы - я использовал flex из пакета MinGW