tail head cat sleep
QR code linking to this page

Man page  — YACC

명칭

yacc – LALR(1) 파서 제네레이터

내용

서식


yacc [-dlrtv] [-b file_prefix] [-o output_filename] [-p symbol_prefix] filename

해설

yacc 유틸리티는, filename (으)로부터 문법 사양을 읽어내, 그 사양으로부터 LR(1) 파서를 생성합니다. 파서는, C 언어로 쓰여진 LALR(1) 해석 테이블과 드라이버 routine세트로부터 구성되어 있습니다. yacc 유틸리티는 통상, y.tab.c 그렇다고 하는 파일에 해석 테이블과 드라이버 routine를 기입합니다.

이하의 옵션을 사용할 수 있습니다:
-b file_prefix
  출력 파일명의 선두에 가세하는 프레픽스 캐릭터 라인을 file_prefix (으)로 변경합니다. 디폴트의 프레픽스는 y 입니다.
-d
  헤더 파일 y.tab.h (을)를 생성하도록 지시합니다.
-l
  만약 -l 옵션이 지정되어 있지 않으면, yacc (은)는 생성 코드에 #line 지시문을 삽입합니다. #line 지시문은, 생성된 코드안의 에러와 유저의 오리지날 코드와의 관련 짓고를 C 컴파일러에 실시하게 합니다. 만약 -l 옵션이 지정되어 있으면, yacc (은)는 #line 지시문을 삽입하지 않습니다. 유저에 의해 지정된 #line 지시문은 그대로 남겨집니다.
-o output_filename
  yacc 에 대해, 디폴트 파일의 y.tab.c 대신에 output_filename 에 생성 코드를 출력시킵니다.
-p symbol_prefix
  yacc 에 의해 생성된 심볼의 선두에 붙이는 프레픽스를 symbol_prefix 그리고 지정된 캐릭터 라인으로 변경합니다. 디폴트의 프레픽스는, 캐릭터 라인 yy 입니다.
-r
  yacc (은)는 코드와 테이블을 다른 파일에 출력합니다. 코드 파일명은 y.code.c 되어, 테이블 파일명은 y.tab.c 됩니다.
-t
  yacc 에 의해 생성되는 프리프로세서 지시문을 변경해, 디버그 용무의 문장을 컴파일 된 코드안에 묻습니다.
-v
  생성된 파서의 상세를 인간이 읽을 수 있는 형식에서, 파일 y.output 에 출력합니다.

만약 환경 변수 TMPDIR 하지만 설정되어 있으면, TMPDIR (으)로 설정되어 있는 캐릭터 라인은 임시 파일이 만들어진다 디렉토리명으로서 사용됩니다.

관련 파일

y.code.c
y.tab.c
y.tab.h
y.output
/tmp/yacc.aXXXXXXXXXX
/tmp/yacc.tXXXXXXXXXX
/tmp/yacc.uXXXXXXXXXX
 

진단

만약 환원할 수 없는 룰이 있었을 경우, 그 룰수가 표준 에러 출력에 표시됩니다. 만약 어떠한 LALR(1)의 충돌이 있었을 경우, 충돌수도 표준 에러 출력에 겉(표) 나타납니다.

YACC (1) May 24, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

A child of 5 could understand this! Fetch me a child of 5.