2009-03-25 3 views
1

나는 다음과 같은 문법을위한 파서 구축을 위해 노력하고 있습니다. (용 책의 전 4.4.1 페이지 231.) :건물 예측 파서와 파싱 테이블

S -> 0 S 1 | 0 1 

그래서 처음 나는 문법을 고려하고있어 왼쪽 :

S -> 0 S' 
S' -> S 1 | 1 

그리고 파싱 테이블을 구성이 나왔고 :

 +-----------+---------+--------+ 
    |  0  | 1 | $ | 
-----+-----------+---------+--------+ 
    S | S -> 0 S' |   |  | 
-----+-----------+---------+--------+ 
    S' | S' -> S 1 | S' -> 1 |  | 
-----+---------------------+--------+ 

이 확인 $에 대한 항목이하지 않는 그 것이다 (예를 입력의 기호) 기호? 그런 경우 어떻게 파싱을 예측 파서가 수행합니까?

+0

:

--------------------------------- | 0 | 1 | $ | --------------------------------- S | S->0S'| | S-> empty | --------------------------------- S' | S'->S1| S'->1 | | --------------------------------- 

당신이 비디오를 볼 수 있습니다 : "S '-> 0S | 1"은 "S'-> S1 | 1"이어야합니다. 이것은 또한 귀하의 테이블에서 볼 수 있습니다. – Dacto

답변

1

예, S 및 S '는 빈 기호를 허용하지 않기 때문에 YES입니다.

고려 :

S->0S' 
S'->0S|1 
S-> empty 

테이블이 될 것입니다 : 내가 두 번째 단락 (5 호선)에서 오타가 생각 http://www.youtube.com/watch?v=E4to0HuZh3Q