본문으로 이동

Yacc: 두 판 사이의 차이

위키백과, 우리 모두의 백과사전.
내용 삭제됨 내용 추가됨
TedBot (토론 | 기여)
잔글 봇: 스타일 정리
1 개의 출처 구조, 0 개의 링크를 깨진 것으로 표시 #IABot (v2.0beta10)
12번째 줄: 12번째 줄:
* [http://dickey.his.com/byacc/byacc.html 버클리 Yacc]: 특정 C 컴파일러에의 종속성을 피하기 위해 만들어진 yacc
* [http://dickey.his.com/byacc/byacc.html 버클리 Yacc]: 특정 C 컴파일러에의 종속성을 피하기 위해 만들어진 yacc
* [https://web.archive.org/web/20050305150105/http://www.informatik.uni-freiburg.de/proglang/software/essence/ Essence], 스킴 프로그래밍 언어용 [[LR(1)]] 파서
* [https://web.archive.org/web/20050305150105/http://www.informatik.uni-freiburg.de/proglang/software/essence/ Essence], 스킴 프로그래밍 언어용 [[LR(1)]] 파서
* [http://download.plt-scheme.org/scheme/plt/collects/parser-tools/ Parser-tools] for DrScheme.
* [https://web.archive.org/web/20050416083124/http://download.plt-scheme.org/scheme/plt/collects/parser-tools/ Parser-tools] for DrScheme.
* [http://www.smlnj.org/doc/ML-Yacc/index.html ML-Yacc] 표준 ML 용 yacc
* [http://www.smlnj.org/doc/ML-Yacc/index.html ML-Yacc] 표준 ML 용 yacc



2018년 11월 20일 (화) 20:30 판

컴퓨터 소프트웨어인 Yacc유닉스 시스템의 표준 파서 생성기이다. 이름은 "또다른 컴파일러 컴파일러"란 재귀적인 뜻의 영어 Yet Another Compiler Compiler 의 약자에서 왔다. 파서(parser)란 컴파일러의 일부분으로 입력의 의미부를 구분해 주는 역할을 하며, Yacc는 배커스-나우르 표기법(BNF)으로 표기된 문법을 주면 그것에 따르는 파서를 만들 수 있는 C언어 코드를 만들어 준다.

Yacc는 AT&T의 스티븐 C. 존슨이 유닉스 운영체제 용으로 개발했다. 후에 버클리 Yacc, GNU bison, MKS yacc, Abraxas yacc 등의 호환 클론들이 만들어졌다. 이들은 성능이 향상되고, 부가 기능이 덧붙여 졌지만 기본적인 기능은 동일했다.

Yacc가 만들어내는 파서와 더불어 어휘 분석기(lexical analyzer)가 필요하기 때문에 Lexflex 같은 어휘 분석기 생성기가 같이 쓰인다. IEEE POSIX P1003.2 표준은 Lex와 Yacc의 기능과 요구사항을 정의하고 있다.

같이 보기

외부 링크