[프로그래밍언어론] 7. Parsing Problem
·
CS/프로그래밍언어론
파서의 목표는 소스코드를 받아서 파싱을 한 뒤, Parse Tree 를 만드는 것이다.만약 파싱하다가 실패했다면 소스코드에서 문법에 맞지 않는 부분이 있었다는 뜻이므로,파서는 syntax error 가 발생했다는 걸 알려줘야 한다. 잘 동작하는 파서는 파싱할 때 토큰 1개를 더 앞서 볼 수 있다. (look ahead, LA)그래야 알맞는 BNF 문법을 체크할 수 있다. 파서에는 2가지 카테고리가 있다.첫번째는 탑-다운 / 두번째는 바텀-업 이다.탑 - 다운 파서탑-다운 파서는 root 부터 시작해서 아래로 내려가면서 파스 트리를 만든다.탑-다운 파서는 왼쪽에서부터 파고들어 본다. (즉 pre-order 순으로 파싱트리를 만든다.)xAα 라는 sentential form 이 주어..