[工學(공학) ]컴파일러 입문] 컴파일러 프로젝트[preparser]
페이지 정보
작성일 20-11-11 18:30
본문
Download : [공학]컴파일러 입문] 컴파일러 프로젝트[preparser].hwp
대표적인 방법으로는 top-down parsing과 bottom-up parsing이 있다 top-down parsing은 parsing tree의 root부터 leaves로 확장시키면서 parsing을 한다.
predictive parser는 top-down parsing(즉, LL parsing)의 하나로 right most derivation을 이용하여 derivation의 각 step에서 right most nonterminal을 우선적으로 바꾸어 나간다.
parsing에 사용되는 syntax는 context-free grammar를 이용하여 표현하게 된다된다. bottom-up parsing은 parsing tree의 leaves에서 root로 올라가는 방법이다. predictive parser를 사용하는 것은 일반적인 LL parsing을 사용하는 parser에서 나타나는 backtracking을 막기 위함이다.
parser의 type은 3가지로 구분된다된다. top-down과 bottom-up 모두 left-to-right이며, 한번에 하나의 input symbol을 읽는다.
parser의 역할을 보면 다음과 같다. lexical analyzer로부터 token을 받아들인다.
pred…(skip)
Download : [공학]컴파일러 입문] 컴파일러 프로젝트[preparser].hwp( 15 )
[工學(공학) ]컴파일러 입문] 컴파일러 프로젝트[preparser]
![[공학]컴파일러%20입문]%20컴파일러%20프로젝트[preparser]_hwp_01.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%9E%85%EB%AC%B8%5D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%5Bpreparser%5D_hwp_01.gif)
![[공학]컴파일러%20입문]%20컴파일러%20프로젝트[preparser]_hwp_02.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%9E%85%EB%AC%B8%5D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%5Bpreparser%5D_hwp_02.gif)
![[공학]컴파일러%20입문]%20컴파일러%20프로젝트[preparser]_hwp_03.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%9E%85%EB%AC%B8%5D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%5Bpreparser%5D_hwp_03.gif)
![[공학]컴파일러%20입문]%20컴파일러%20프로젝트[preparser]_hwp_04.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%9E%85%EB%AC%B8%5D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%5Bpreparser%5D_hwp_04.gif)
![[공학]컴파일러%20입문]%20컴파일러%20프로젝트[preparser]_hwp_05.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%9E%85%EB%AC%B8%5D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%5Bpreparser%5D_hwp_05.gif)
![[공학]컴파일러%20입문]%20컴파일러%20프로젝트[preparser]_hwp_06.gif](http://www.allreport.co.kr/View/%5B%EA%B3%B5%ED%95%99%5D%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%EC%9E%85%EB%AC%B8%5D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%5Bpreparser%5D_hwp_06.gif)
[工學(공학) ]컴파일러 입문] 컴파일러 프로젝트[preparser]
레포트/공학기술
순서
다. 주로 hand made parser에 사용된다된다. universal parsing method는 어떤 grammar도 parsing할 수 있지만, 비효율적이라 일반적으로 잘 사용하지 않는다. 이 parsing은 복잡하여 기계나 tool에 의해 이루어지며, LR parsing이라고도 한다.
[공학]컴파일러,입문],컴파일러,프로젝트[preparser],공학기술,레포트
[공학]컴파일러 입문] 컴파일러 프로젝트[preparser] , [공학]컴파일러 입문] 컴파일러 프로젝트[preparser]공학기술레포트 , [공학]컴파일러 입문] 컴파일러 프로젝트[preparser]
설명
1. 說明(설명) 및 algorithm
parser란 compiler에서 syntax analysis를 하는 부분이다. 그리고 source language에 대해 string이 grammar에 의해 generate될 수 있음을 증명하며, compile시 일반적으로 나타나는 error를 recover하여 processing을 진행시킨다. LL parsing이라고도 한다.