2014-10-03 4 views
0

왼쪽 재귀가 제거 된 문법이 있으며이 역시 고려됩니다.FOLLOW 문법 집합 작성

나는 이미 FIRST 세트를 만들었지 만 이것은 매우 간단한 작업 이었지만 FOLLOW 세트를 만드는 것은 문제가 있습니다. 나는 도움이되는 예제를 찾으려고했지만 나에게 도움이 될만한 예제는 찾지 못했다.

다음은 문법입니다.

St는 시작 기호입니다.

St -> St' 
St' -> i S' 
E -> i E' 
E' -> [ E ] E' 
E' -> ε 
S' -> = E 
S' -> [ E ] = E 

그리고 해당 FIRST 세트는 다음과 집합을 구축하기위한 규칙은 매우 간단하고 아직 내가 올바르게 적용하는 방법을 모른다 http://www.jambe.co.nz/UNI/FirstAndFollowSets.html 출신 지금

E = { i } 
E' = { [, ε } 
S' = { [, = } 
St = { i } 
St' = { i } 

이다.

E = {} 
E' = {} 
S' = {} 
St = {$} 
St' {$} 

을하지만,이 후 어떻게 진행하는 단서가 없다 : 내가 지금까지 구축 한

팔로우 세트입니다. 몇 가지 팁이 가장 환영받을 것입니다.이 문제에 대한 완벽한 해결책을 기대하지 않고 몇 가지 팁을 제공하므로 건물 설정 작업이 어떻게 작동하는지 이해할 수 있습니다. 생산 → ABB는, (이 경우 후속에 대한

답변

2

규칙 팔로우 (S)에서

  • 먼저 넣어 $ (입력 표시 종료)을 설정 (S는 시작 심볼은) 어디 전체 문자열 일 수 있습니다) 다음 ε 제외한 FIRST (b)의 모든 다음 (B) 따라 배치됩니다. 첫 번째는 (b) ε를 포함하는 생산 → ABB가 존재하는 경우, 생산 → AB 따르는 (A)의 모든 내용이 있다면

  • 다음 따르는 (B)

  • 에 FOLLOW (A)의 모든 위 규칙에 따라 FOLLOW (B) 에 당신의 대답은 다음과 같습니다

    E = { ] } 
    
    E' = { ] } 
    
    S' = { $ } 
    
    St = { $ } 
    
    St'= { $ }