문제

나는 새로운 주제의 편집 및 단지 운동을 시작한 하향 분석.

내가 붙어에 다음의 문제입니다.

를 구축 LR(0)분석에 대한 테이블 다음과 같은 문법:

1) E –> E + T
2) E –> T
3) T –> (E)
4) T –> id


I0 :

   E' –> .E
   E –> .E + T
   E –> .T
   T –> .(E)
   T –> .id

E 다음 상태에서 DFA 이 될 것이다:

 I1:

    E' -> E.
    E  -> E. + T

에서 내가 배운 것 지금까지 없이는 S-R 충돌?기 때문에 파서지 여부를 알 수 감소 또는 교대로 그 가 없 look-ahead 변?그래서 이야 LR(0)문법?

그러나 PDF 내가 읽고 내장 LR(0)테이블.그래서 거기에는 PDF 또는 내가 잘못을 몇 곳을 이해하는 개념?

도움이 되었습니까?

해결책

이것은 실제로 시프트 / 감소 충돌입니다.이 문법은 LR (0)이 아닙니다. 접두사가없는 이 아니기 때문에 이것을 볼 수 있습니다.문법에는 서로 접두사 인 여러 문자열이 포함되어있어 LR (0)이 될 수 없습니다.

라는

은 여전히 모든 LR (0) 구성 세트를 구성하고 LR (0)을 자동으로 만들 수 있습니다.Shift / Shift / Define Complict 때문에 결정적으로 결정적이지 않을 것입니다.그러므로 당신이 옳고 유인물이 옳다는 것이 가능합니다.

이 도움이되기를 바랍니다!

다른 팁

을 증강하는 문법과 E' -> E.일반적으로,당신을 보강으로 생산처 E' -> E $, 어디$은(끝)기호하지 않는 그렇지 않으면에서 발생하는 문법,그리고 나타냅 end-of-입력합니다.

그래서 실제로 I1


E' -> E. $
E  -> E. + T

고 있지 않은 충돌이 발생합니다.(나는 믿고 문법 LR(0)입니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top