2.12. SLR elemzés

[Megjegyzés]Megjegyzés

Vannak olyan nyelvtanok, melyeket mind az LL(1), mind az LR(0) feladatoknál megvizsgálunk, így azok megoldásait most felhasználhatjuk az SLR elemzők megadásakor. A szükséges adatokat nem soroljuk fel újra, elérésük megkönnyítése érdekében viszont hivatkozunk rájuk. A Follow halmazok az LL(1) feladatok, az LR(0) elemek értelemszerűen az LR(0) feladatok megoldásainál találhatóak.

  1. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     a$S
    0s2 1
    1s3acc 
    2r2r2 
    3r1r1 
  2. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SAB
    0  s4 123
    1   acc   
    2s5      
    3 s6     
    4r4r6s4  78
    5   r1   
    6   r2   
    7r3      
    8 r5     
  3. Korábbi részmegoldás: LR(0) elemző táblázat, és a Follow halmaza mind az S-nek és az A-nak csak a végjelet tartalmazza. Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abcdef$SA
    0s2s3     1 
    1      acc  
    2  s7s5 s6  4
    3  s9 s8    
    4      r1  
    5      r4/r5  
    6  s10      
    7      r7  
    8  s11      
    9      r3  
    10      r6  
    11      r2  
  4. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SA
    0 s3  12
    1   acc  
    2s4/r2r2r2r2  
    3r4r4s5/r4r4  
    4 s3  62
    5 s3   7
    6r1r1r1r1  
    7r3r3r3r3  
  5. Korábbi részmegoldás: LR(0) elemző táblázat, míg Follow(E)={$,+,)} és Follow(T)=Follow(F)={$,*,+,)}. Ennek megfelelően az SLR elemző táblázat a következő lesz:

     ()*+i$ETF
    0s4   s5 123
    1   s6 acc   
    2 r2s7r2 r2   
    3 r4r4r4 r4   
    4s4   s5 823
    5 r6r6r6 r6   
    6s4   s5  93
    7s4   s5   10
    8 s11 s6     
    9 r1s7r1 r1   
    10 r3r3r3 r3   
    11 r5r5r5 r5   
  6. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abeit$S
    0s2  s3  1
    1     acc 
    2     r1 
    3 s4     
    4    s5  
    5s2  s3  6
    6  s7  r2 
    7s2  s3  8
    8     r3 
  7. Korábbi részmegoldások: LR(0) elemző táblázat, míg Follow(S)={$} és Follow(A)={$,a,b}. Ennek megfelelően az SLR elemző táblázat a következő lesz:

     ab$SA
    0s4s3 12
    1  acc  
    2s4s3  5
    3r2r2r2  
    4s4s3  6
    5  r1  
    6r3r3r3  
  8. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SBCD
    0s2 s3 1   
    1   acc    
    2 s5   4  
    3s7s8    6 
    4s9       
    5r3/s11      10
    6   r2    
    7s11      12
    8   r6    
    9   r1    
    10r4       
    11s14 s13     
    12   r5    
    13r7  r7    
    14  s15     
    15r8  r8    
  9. Korábbi részmegoldás: LR(0) elemző táblázat valamint Follow(S)={$}, Follow(A)={$,b} és Follow(B)={$,c}. Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SAB
    0s3   12 
    1   acc   
    2 s5 r1  4
    3s3s7   6 
    4   r2   
    5 s5s9   8
    6 s10     
    7 r4 r4   
    8  s11    
    9  r6r6   
    10 r3 r3   
    11  r5r5   
  10. Korábbi részmegoldás: LR(0) elemző táblázat, valamint Follow(S)={$} és Follow(A)=Follow(B)={a}; így az SLR elemző táblázat a következő lesz:

     abcd$SAB
    0s5s3s6  124
    1    acc   
    2s7       
    3   s8r2   
    4r4       
    5 s9      
    6s5/r8 s6    10
    7    r1   
    8s5 s6    11
    9s5/r7 s6    12
    10r6       
    11r3       
    12r5       
  11. Korábbi részmegoldás: LR(0) elemző táblázat, valamint Follow(S)={$}, Follow(A)={b,d} és Follow(B)={c,d}; így az SLR elemző táblázat a következő lesz:

     abcdf$SAB
    0s2s3    1  
    1     acc   
    2    s6  45
    3    s6  87
    4 s9       
    5   s10     
    6 r5r6r5/r6     
    7  s11      
    8   s12     
    9    r1    
    10    r3    
    11    r2    
    12    r4    
  12. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abcd$SAB
    0s2    1  
    1    acc   
    2s5 s6s7  34
    3 s8      
    4 s9      
    5s5 s6s7  1011
    6 r4      
    7 r6      
    8    r1   
    9 s12      
    10 s13      
    11 s14      
    12   r2    
    13 r3      
    14 s15      
    15 r5      
  13. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SAB
    0s3s4  12 
    1   acc   
    2 s6s7   5
    3s3s4   8 
    4 r3r3    
    5   r1   
    6 s6s7   9
    7  r5r5   
    8 s10     
    9  s11    
    10 r2r2    
    11  r4r4   
  14. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     ab$SAB
    0 s3 1 2
    1  acc   
    2s5s3   4
    3s7s8  6 
    4r4r4   4
    5  r1   
    6r5r5    
    7s9     
    8 s10    
    9r2r2    
    10r3r3    
  15. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SAB
    0s3 s4 12 
    1   acc   
    2s6s7s8   5
    3r2r2r2r2   
    4s6s7s8   9
    5   r1   
    6s3 s4  10 
    7s6s7s8   11
    8r4r4r4r4   
    9r3r3r3r3   
    10r5r5r5r5   
    11r6r6r6r6   
  16. Korábbi részmegoldás: LR(0) elemző táblázat, valamint Follow(S)=Follow(B)={$} és Follow(A)={$,a,b}. Ennek megfelelően az SLR elemző táblázat a következő lesz:

    {}ab$SAB
    0s4s3 12 
    1  acc   
    2  r1   
    3s6s8  75
    4r3r3r3   
    5  r2   
    6r3/r4r3/r4r4/r6   
    7s10s8  79
    8s11     
    9  r5   
    10r3r3r3/r6   
    11r4r4r4   
  17. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SAB
    0s5s6s3 124
    1   acc   
    2s5s6   74
    3   r2   
    4  s8    
    5r4r4 r4   
    6 s9r5    
    7   r1   
    8r3r3 r3   
    9  r6    
  18. Korábbi részmegoldás: LR(0) elemző táblázat, valamint Follow(S)={$} és Follow(B)=Follow(C)={c}. Ennek megfelelően az SLR elemző táblázat a következő lesz:

     bc$SAB
    0s3  12 
    1  acc   
    2 s5   4
    3s3r3  6 
    4 s7    
    5 r4    
    6 r2    
    7  r1   
  19. Korábbi részmegoldás: LR(0) elemző táblázat, valamint Follow(S)={$} és Follow(B)={$,a}. Mivel A nem szerepelhet egyik mondatszimbólumból inuló levezetésben, így Follow(A) üres halmaz lesz. Ennek megfelelően az SLR elemző táblázat a következő lesz:

     ab$SAB
    0s4s3 1 2
    1  acc   
    2s5     
    3s4s3   6
    4r5 r5   
    5s4s3   7
    6r4 r4   
    7  r1   
  20. Korábbi részmegoldások: LR(0) elemző táblázat és Follow halmaz

    Ennek megfelelően az SLR elemző táblázat a következő lesz:

     abc$SAB
    0s3s4  12 
    1   acc   
    2  s5    
    3s3s4   6 
    4s7      
    5s9 s10   8
    6 s11     
    7 r3r3    
    8   r1   
    9s9 s10   12
    10 s13     
    11 r2r2    
    12 s14     
    13s15      
    14 r4r4    
    15 r5r5