삽질가루2009/09/25 15:40

digit [0-9]
number {digit}+

%%

{number} { return NUM; }


위처럼 작성한 Lex 파일이 있는데, input을 위 rule에 해당하도록 정확히 넣어도 인식을 못하는(?) 오류가 발생합니다. 저도 제 학생으로부터 질문을 받고 해결 방법에 대해 몇 자 적습니다.

이는 해당 학생이 원격에서 파일을 올려서 실행 했을 때 안 된 것이거든요. 이럴 때는 주로 DOS와 UNIX의 서로 다른 아스키 파일 형식 때문 입니다. 아래처럼 DOS(윈도우) 시스템에서 만든 코드 파일을 UNIX 형식으로 바꿔야 위 rule이 정상 동작 합니다.


$ dos2unix sample.l

저작자 표시 비영리 변경 금지
Posted by cheru
TAG Lex, Yacc
삽질가루2009/09/21 09:14

yum install flex

yum install byacc


bison으로는 yacc 설치가 안 되길래, 구글링해서 알아보았습니다.
저작자 표시 비영리 변경 금지
Posted by cheru
TAG Lex, Yacc