У меня нет абсолютно никакого фона в компиляторах и начал с «учить себя». Я учусь о Лекса с помощью this учебника и напечатал что-то вроде этого в файл под названием first.l
Что делать с выходом lex?
%%
/* match everything except newline */
. ECHO;
/* match newline */
\n ECHO;
%%
int yywrap(void) {
return 1;
}
int main(void) {
yylex();
return 0;
}
Теперь я понимаю, что закон должен генерировать Tokenizer, что будет просто эхо все, что он получает с помощью выше first.l
файла. Я пошел вперед и побежал
lex first.l
Он создал файл с именем lex.yy.c
. Затем в учебнике дается еще несколько примеров и переходов на yacc
. Может ли кто-нибудь сказать мне, что можно сделать с файлом lex.yy.c
, который генерируется lex? Я думал, что теперь у меня есть токенизатор, но как мне теперь скомпилировать этот файл в двоичный файл? Использование gcc?
Спасибо. Я знаю, как скомпилировать gcc, но хотел знать, что делать с файлом, созданным lex. Оказывается, мне просто пришлось скомпилировать его с помощью gcc, и он работает так, как ожидалось. Спасибо за ваше время. Я отредактировал ваш ответ, чтобы добавить последний шаг. Надеюсь, ты не возражаешь. – Legend