Я пытаюсь запустить лексическую программу в UBUNTU с расширением файла .l
, я уже установил flex и bison и смог получить файл lex.yy.c, но когда я дал команду cc lex.yy.c -lfd
или cc lex.yy.c
терминал показал ошибку:
first.l:2:10: fatal error: iostream: No such file or directory
#include <iostream>
^~~~~~~~~~
мой код:
%{
#include <iostream>
using namespace std;
#define YY_DECL extern "C" int yylex()
%}
%%
[ \t\n] ;
[0-9]+\.[0-9]+ { cout << "Found a floating-point number:" << yytext << endl; }
[0-9]+ { cout << "Found an integer:" << yytext << endl; }
[a-zA-Z0-9]+ { cout << "Found a string: " << yytext << endl; }
%%
int main(int, char**) {
// lex through the input:
yylex();
}
Я переустанавливаю flex и bison, а также удаляю и устанавливаю gcc, но без изменений! Любая помощь будет принята с благодарностью,