flex, bison 및 Dev C++를 C : \에 올바르게 다운로드하고 설치했습니다. 그런 다음 명령 프롬프트에서 myfile.l을 컴파일하려고 시도했지만 오류가 발생합니다.Windows에서 lex 파일을 컴파일하는 방법은 무엇입니까?
flex: can't open myfile.l.
무엇이 문제입니까?
flex, bison 및 Dev C++를 C : \에 올바르게 다운로드하고 설치했습니다. 그런 다음 명령 프롬프트에서 myfile.l을 컴파일하려고 시도했지만 오류가 발생합니다.Windows에서 lex 파일을 컴파일하는 방법은 무엇입니까?
flex: can't open myfile.l.
무엇이 문제입니까?
나는 당신이 약간의 지시를 필요로하는 초보자라는 것을 당신의 질문에서 볼 수있다. 따라서 다음은 튜토리얼 스타일이다. 나는 네가 그 소리에 신경 쓰지 않기를 바란다. 많은 학생들이 처음 시작할 때와 같은 문제에 직면합니다. 플렉스에 대한 코드를 포함
파일, 들소 또는 컴파일러 GCC (또는 그램 ++)은 단지 텍스트 파일, 파일이 아닌 일부 특수 인코딩 된 형태입니다. 그들은 단지 하려나, 관례 something.y 및 something.c 란 (또는 something.cpp) 이름이 지정됩니다. 우리가 원할 경우 something.txt 또는 심지어 something.l.txt이라고 부를 수 있습니다. 이름을 그대로 사용하는 이유는 이름 공간을 어지럽히 지 않고도 한 프로그램의 모든 구성 요소를 구별 할 수 있기 때문입니다. 우리는 프로젝트가 경우에 따라서, 플렉스 및 들소에서 수행 숙제, 우리는 기본 이름으로 단어 숙제를 사용하여 다음과 같은 파일 집합을 가질 수 있습니다
이homework.l <-- The lexer source file for flex created for the homework
homework.y <-- The parser source file for bison created for the homework
homework.cpp <-- The C++ source file for g++ created for the homework
homework.obj <-- The object file created by g++
homework.exe <-- The final windows executable created by g++
(다른 많은있을 것 파일도 있지만, 지금은 건너 뛸 것입니다.)
원본 파일은 텍스트 파일 형식이므로 텍스트 편집기로 만들 수 있습니다. 당신은 Dev C++ (텍스트 편집기, 컴파일러 및 디버거를 하나의 패키지로 결합한 IDE (Integrated Development Environment))를 사용하고 있다고 나타 냈습니다. 텍스트 편집기 부분은 Notepad, NotePad++, vim, emacs 또는 다른 수많은 편집기 도구 중 하나와 같은 다른 텍스트 편집기와 동일하게 작동합니다.
일반적으로 Windows의 텍스트 편집기 도구는 기본적으로 .txt
의 텍스트 코드를 저장합니다. 여기에 이러한 파일을 저장하는 예 대화는 다음과 같습니다
당신이 볼 수있는 나는 내가 저장 버튼을 눌러 SOlexer.l
라고 내 파일을 저장 한 경우, 나는 의 접미사가있는 파일을 항상 만들어야하기 때문에 SOlexer.l.txt
이라는 파일을 얻을 수 있습니다.
이제는 문제가되지 않습니다. 난 당신이 그랬던 것처럼, 플렉스를 호출하려고하는 경우 :
$ flex SOlexer.l
flex: can't open SOlexer.l
저도 같은 오류 메시지가 표시됩니다.그러나 난 그냥 사용 된 실제 파일 이름으로 플렉스를 호출 할 수 있습니다 그것은 작동합니다 :
$ flex SOlexer.l.txt
$
을 다른 방법으로, 나는 파일 이름을 바꿀 수 있고, 그것을 사용 :
$ rename SOlexer.l.txt SOlexer.l
$ flex SOlexer.l
$
문제가 해결!
그러나 발견 한대로 처음에는 원하는 (더 편리한) 이름으로 파일을 만드는 것이 가장 좋습니다. 이 하나를 수행하면 파일을 저장할 때 단지 다음과 같이 메뉴에서 다른 선택을 할 수 있습니다. (* *) 우리는 모든 종류의 에
을 클릭하면 우리가하지 않고 파일을 만들 수 있습니다 .txt
접미사. 이것은 대부분의 유사한 도구에도 적용됩니다.
Windows에서 flex와 bison을 사용하는 데 어려움이있는 학생을 돕기 위해 series of video tutorials을 만들었습니다. 그들도 환영합니다.
결론적으로 flex 파일을 빌드하는 데 문제가 있지만 문제는 flex 또는 bison과 관련이 없지만 Windows 시스템에서 파일을 만들고 편집하는 방법을 배우는 간단한 초보자 문제입니다.
대단히 감사합니다. – TRuwandi
아주 간단합니다. 현재 디렉토리에 myfile.l이라는 파일이 없습니다. 어쩌면 myfile.l.txt라고할까요? –
예 myfile.l.txt이므로 myfile.l로 저장할 수 없습니다. .l 확장자로 저장하는 방법은 매우 익숙하고 검색했지만 적합한 솔루션을 얻지 못했습니다. 이제는 "Flex Windows"를 사용하여 파일을 .l 확장자로 저장할 수 있습니다. – TRuwandi