other sections
YACC(1) | General Commands Manual | YACC(1) |
이름¶
Yacc - an LALR(1) 파서 생성기
사용법¶
yacc [ -dlrtv ] [ -b file_prefix ] [ -p symbol_prefix ] filename
설명¶
Yacc 은 파일의 문법 명세 사항을 읽어 이것을 위한 LR(1) 파서를 생성한다. 파서는 LALR(1) 파싱 테이블 집합과 C 프로그래밍 언어로 작성된 구동 루틴을 포함한다. Yacc 은 일반적으로 파서 테이블과 구동 루틴을 y.tab.c 파일에 쓴다.
다음은 유용한 옵션들이다:
- -b file_prefix
- -b 옵션은 출력 파일 이름의 접두사를 file_prefix 에 의해 표시된 문자열로 변경한다. 기본 접두사는 문자 y 이다.
- -d
- -d 옵션은 y.tab.h 헤더 파일을 작성한다.
- -l
- -l 옵션이 명시되지 않으면, yacc 은 생성되는 코드에 #line 지시를 삽입 한다. #line 지시는 C 컴파일러가 생성된 코드의 에러를 사용자의 원본 코드에 연관시키도록 한다. 만약 -l 옵션이 명시되었다면, yacc 은 #line 지시를 삽입하지 않는다. #line 지시는 사용자에 의해 유지된다.
- -p symbol_prefix
- The -p 옵션은 yacc에 의해 생성된 심볼을 symbol_prefix 에 정해진 문자열로 접두사를 변경한다. symbol_prefix. 기본 접두사는 문자열 yy 이다.
- -r
- The -r 옵션에 의해 yacc 는 코드와 테이블을 위해 각각의 파일들을 생성한다. 코드 파일의 이름은 y.code.c, 테이블 파일의 이름은 y.tab.c 이다.
- -t
- -t 옵션은 yacc 에 의해 생성된 프리프로세서의 지시를 변경해서, 디버깅 구문이 컴파일된 코드에 합쳐지게 할 것이다.
- -v
- -v 옵션은 생성된 파서의 사람이 읽을 수 있는 설명을 y.output 파일에 쓰도록 한다.
만약 TMPDIR 환경변수가 설정되어 있다면, TMPDIR에 의해 표시된 문자열은 임시 파일 생성 디렉토리의 이름으로 사용될 것이다.
파일¶
y.code.c
y.tab.c
y.tab.h
y.output
/tmp/yacc.aXXXXXX
/tmp/yacc.tXXXXXX
/tmp/yacc.uXXXXXX
진단¶
만약 결코 줄어들지 않는 규칙이 있다면, 그런 규칙의 번호를 표준 에러로 보고한다. 만약 어떤 LALR(1) 충돌이 있다면, 충돌 번호를 표준 에러로 보고한다.
역자¶
배성훈 <plodder@kldp.org>, 2000년 4월 19일
July 15, 1990 | 4.3 Berkeley Distribution |