Как скомпилировать файл yacc (.y), используя Bison в среде Windows? - PullRequest
1 голос
/ 29 марта 2011

Я прочитал http://dinosaur.compilertools.net/bison/bison_5.html#SEC25. Но, следуя этим инструкциям, я не могу скомпилировать свой файл yacc, используя bison

Как мне скомпилировать мой файл в Windows 7 ...?

Пожалуйста, помогите мне сделать это.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2015

Существует распространенная причина, по которой bison не будет работать должным образом в Windows, и она упоминается в инструкциях по установке, но часто игнорируетсяВажно, чтобы имя расположения каталога, в котором установлен bison (и flex) (путь), не содержало пробела.в частности это означает, что его нельзя поместить под C:\Program Files\.Проблема в том, что этот каталог может быть предложен в качестве места установки по умолчанию.Иногда необходимо вручную изменить значение по умолчанию на что-то другое (например, C:\GnuWin\ или подобное).Также обычно необходимо вручную добавить соответствующий каталог в переменную среды PATH.Как только это будет сделано, не должно быть проблем с запуском зубров и гибких команд из командной строки.Обычно он используется следующим образом:

flex lang.l
bison lang.y
gcc -o lang.exe lang.tab.c -lfl

Нет необходимости устанавливать MinGW, Cygwin или использовать Powershell или виртуальную машину или использовать linux, как указано @ DavidHefferman

Если вывсе еще не могу понять это правильно, у меня даже есть обучающее видео !

0 голосов
/ 29 марта 2011

Использование этих команд Unix в Windows PowerShell может работать, но я не уверен, и в настоящее время я не на Windows, поэтому я не могу проверить это.

Если это не удастся, вы можете попробовать установить Cygwin (базовая среда Linux в Windows). Вам нужно будет выбрать пакет зубров во время установки. Он поставляется с собственной оболочкой, которую вы можете использовать.

На самом деле мой личный фаворит при программировании под Windows - это настройка виртуальной машины с VirtualBox . Таким образом, вы могли бы использовать настоящую среду Linux, не выходя из Windows.

Удачи!

...