Native/C

bison

aucd29 2013. 10. 2. 18:55
bison은 범용 파서 생성기로 LALR(1) 문맥 자유 문법 기술을 그 문법을 해석하는 C 프로그램으로 변환합니다. bison에 일단 숙달되면 간단한 탁상 계산기부터 복잡한 프로그래밍 언어까지 다양한 범위의 언어 파서를 개발하는 데 사용할 수 있습니다.
bison는 Yacc와 상위 호환됩니다. 적절하게 작성된 Yacc 문법은 전부 변경 없이 bison으로 동작해야 합니다. Yacc에 익숙한 사람이라면 불편 없이 bison을 사용할 수 있습니다. 이 프로그램의 문서는 bison-doc 패키지에 들어있습니다.


http://gnuwin32.sourceforge.net/packages/bison.htm


Ubuntu install
[code]
sudo apt-get install bison
[/code]

Source
http://www.gnu.org/software/bison/


LALR
http://ko.wikipedia.org/wiki/LALR

LALR은 구문 분석 방식의 한 종류 이며 선행 예측(Lookahead) LR 방식의 특별 버전이다. 단순 LR 방식(Simple LR, SLR) 구문 분석기보다 더 많은 문맥 문법을 다룰 수 있다. 구문 분석을 위한 테이블(table, 사양)이 간단하여 많은 구문 문법을 처리할 수 있으므로 가장 일반적인 구문 분석 방식으로 사용하고 있다. yacc나 bison과 같은 컴파일러 컴파일러와 같은 소프트웨어가 이 방식을 이용하여 처리하고 있다.
단순 LR 방식과 마찬가지로, LALR은 LR(0)의 구문 분석 테이블을 사용한다. 단순 LR 방식은 Follow 집합을 사용해 reducing하는 반면, LALR 방식은 선행 예측 집합(Lookahead set)을 사용한다.