올린글을 확인할 수 있도록 포스팅을 공개로 설정해 주세요.
컴파일러 입문] 컴파일러 프로젝트[preparser]

1. 설명 및 algorithm
parser란 compiler에서 syntax analysis를 하는 부분이다.
parser의 역할을 보면 다음과 같다. lexical analyzer로부터 token을 받아들인다. 그리고 source language에 대해 string이 grammar에 의해 generate될 수 있음을 증명하며, compile시 일반적으로 나타나는 error를 recover하여 processing을 진행시킨다.
parser의 type은 3가지로 구분된다. universal parsing method는 어떤 grammar도 parsing할 수 있지만, 비효율적이라 일반적으로 잘 사용하지 않는다. 대표적인 방법으로는 top-down parsing과 bottom-up parsing이 있다. top-down parsing은 parsing tree의 root부터 leaves로 확장시키면서 parsing을 한다. LL parsing이라고도 한다. 주로 hand made parser에 사용된다. bottom-up parsing은 parsing tree의 leaves에서 root로 올라가는 방법이다. 이 parsing은 복잡하여 기계나 tool에 의해 이루어지며, LR parsing이라고도 한다. top-down과 bottom-up 모두 left-to-right이며, 한번에 하나의 input symbol을 읽는다.
parsing에 사용되는 syntax는 context-free grammar를 이용하여 표현하게 된다.
predictive parser는 top-down parsing(즉, LL parsing)의 하나로 right most derivation을 이용하여 derivation의 각 step에서 right most nonterminal을 우선적으로 바꾸어 나간다. predictive parser를 사용하는 것은 일반적인 LL parsing을 사용하는 parser에서 나타나는 backtracking을 막기 위함이다.
....

[hwp/pdf]컴파일러 입문] 컴파일러 프로젝트[preparser]
포스팅 주소 입력
  올린글을 확인할 수 있는 포스팅 주소를 입력해 주세요.
  네이버,다음,티스토리,스팀잇,페이스북,레딧,기타 등 각각 4개(20,000p) 까지 등록 가능하며 총 80,000p(8,000원)까지 적립이 가능합니다.