Проблемы с объединением бизона и гибкого диска в форму .exe с помощью C - PullRequest
0 голосов
/ 21 июня 2019

Я хочу написать компилятор Mini C как домашнее задание, используя Flex и Bison.Я извлек y.tab.c & y.tab.h из файла yy , который я написал, с помощью этой команды:

bison -d y.y

Затем я извлек lex.yy.c из моего bas.l файла следующим образом:

flex bas.l

Эти шаги были успешными, но когда я хочу объединитьэти два, чтобы получить файл .exe с помощью этой команды:

gcc lex.yy.c y.tab.c -obas.exe

Я получаю это предупреждение, и нет файла .exe:

bas.l:66:2: warning: no newline at end of file
gcc: Internal error: Aborted (program collect2)
Please submit a full bug report.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.

Я знаю bas.l файл должен заканчиваться новой строкой, чтобы быть скомпилированным с C, и там фактически есть новая строка (я также изменил EOL с auto на \ n в моем редакторе vscode).Я не знаю, откуда пришло предупреждение.

Windows 10

flex версия 2.5.4

бизон версия 2.4.1

gcc версия 3.40,2

...