2011-03-29 2 views
1

나는 http://dinosaur.compilertools.net/bison/bison_5.html#SEC25을 읽었습니다. 하지만 그 지시에 따라 내 yacc 파일을 사용하여 컴파일 할 수 없다 bisonWindows 환경에서 Bison을 사용하여 yacc (.y) 파일을 컴파일하는 방법은 무엇입니까?

어떻게 윈도우 7에서 내 파일을 컴파일합니까 ...?

도와주세요.

+0

어떻게 실패했는지 자세히 알고 있습니까? 여기에서 귀하의 문제가 무엇인지 알기는 어렵습니다. –

+0

@ David : 사실 나는 들소 세계에 처음 온 사람입니다. '.y' 파일을 컴파일하는 명령을 알지 못합니다. 나는 그 주석이 유닉스 환경을위한 것이라고 생각한다. 그리고 [http://gnuwin32.sourceforge.net/]에서 bison .exe를 다운로드했습니다. –

+0

올바른 장소에 bison.exe가 있습니다. 무슨 일 이니? –

답변

0

Windows PowerShell에서 이러한 Unix 명령을 사용하면 일 수도 있고 일 수도 있지만 잘 모르겠습니다. 현재 Windows에서 실행되지 않으므로 확인할 수 없습니다.

그래도 실패하면 Cygwin (Windows의 기본 Linux 환경)을 설치해보십시오. 설치하는 동안 bison 패키지를 선택해야합니다. 그것은 당신이 사용할 수있는 자체 쉘과 함께 제공됩니다.

실제로 Windows에서 프로그래밍 할 때 내 개인적으로 선호하는 가상 컴퓨터는 VirtualBox입니다. 그렇게하면 실제로 Windows를 떠나지 않고도 실제 Linux 환경을 사용할 수 있습니다.

행운을 빈다.

+0

PowerShell, Cygwin, VM 등은 절대 필요하지 않습니다. –

0

Windows에서 bison이 제대로 작동하지 않는 일반적인 이유가 있으며 설치 지침에 언급되어 있지만 간과되는 경우가 많습니다. bison (및 flex)에 설치된 디렉토리의 위치 이름 (경로)에 공백이 포함되지 않아야합니다. 특히 이것은 C:\Program Files\ 아래에 놓일 수 없다는 것을 의미합니다. 문제는이 디렉토리가 기본 설치 위치로 제안 될 수 있다는 것입니다. 경우에 따라 기본값을 수동으로 다른 것으로 변경해야합니다 (예 : C:\GnuWin\ 또는 이와 유사). 일반적으로 적절한 디렉토리를 PATH 환경 변수에 수동으로 추가해야합니다. 이 작업이 완료되면 명령 프롬프트에서 bison 및 flex를 실행해도 문제가 없어야합니다. 그것은 일반적으로 다음과 같은 방법으로 사용됩니다 :

@DavidHefferman

로 표시된 바와 같이는 MinGW, Cygwin에서 설치하거나 파워 쉘 또는 VM을 사용하거나 리눅스를 사용할 필요가 없습니다

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

경우 아직 없습니다 맞아, 심지어 instructional video!

관련 문제