1 / 15

Fordítóprogramok és assemblerek

Fordítóprogramok és assemblerek. Egyszerű LL grammatika. Egyszerű LL grammatika - Tartalom. Definíciók Példa. Ábrákkal MASM program (szó felismerése LL(1) – ben ). Egyszerű LL grammatika – fogalmak. L eft to right, using a L eftmost derivation

akamu
Télécharger la présentation

Fordítóprogramok és assemblerek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fordítóprogramok és assemblerek Egyszerű LL grammatika

  2. Egyszerű LL grammatika - Tartalom • Definíciók • Példa. Ábrákkal • MASM program (szó felismerése LL(1) –ben )

  3. Egyszerű LL grammatika – fogalmak • Leftto right, using a Leftmostderivation • Balról jobbra, legbaloldalibb levezetéssel • LL(k) • k szimbólum előreolvasásával döntünk a következő alkalmazandó szabályról • LL(1) • 1 szimbólumot olvasunk előre. • Elemzésének megvalósítása egyszerű • ε-mentes • NT: Nem terminális, T: Terminális

  4. LL(K) grammatika – definíciók • A levezetés tetszőleges pontján a szöveg k terminálisa meghatározza az alkalmazandó levezetési szabályt • FIRSTk(α) (k≥0) • Az α-ból levezethető szimbólumsorozatok k hosszúságú kezdő terminális sorozatainak halmaza. • FIRSTk(α) = {x|αxβ∩|x|=k}U{x|αx∩|x|<k}

  5. LL(k) grammatika – definíciók 2 • LL(k) • k szimbólum előreolvasásával döntünk a következő alkalmazandó szabályról • Tetszőleges S wAβ wα1βwx S wAβ wα2βwylevezetéspárra FIRSTk(x) = FIRSTk(y) esetén α1=α2 • Példa LL(2) –re • G=({a,b}, {A,S}, S, P) • S abA|ε • A Saa|b

  6. Egyszerű LL(1) grammatika - definíciók • Definició • Olyan LL(1) grammatika, amelyben a szabályok jobb oldala terminális jellel kezdődik • A → aα alakú szabályok • Következmény • Az azonos NT jelekhez tartozó szabályok jobb oldalai különböző T jellel kezdődnek. • Tétel • A szabályok A->aα alakúak • A → a1α1 és A → a2α2 => a1≠ a2

  7. Egyszerű LL(1) elemzés • Verem tetején terminális szimbólum • A szöveg következő karakterével egyezés esetén kivesszük a veremből és lépünk a szövegben • Ha nem egyezik a két szimbólum, akkor hiba • Verem tetején NT szimbólum • Ha van megfelelő szabály, NT jel cseréje szabály jobb oldalára a veremben • Egyébként hiba • Ha a verem üres • Ha a szöveg végére értünk, vége • Egyébként hiba

  8. Egyszerű LL(1) elemzés • S -> aS | bAc • A -> bAc | d

  9. Egyszerű LL(1) elemzés

  10. Egyszerű LL(1) elemzés

  11. Egyszerű LL(1) elemzés

  12. Egyszerű LL(1) elemzés

  13. Egyszerű LL(1) elemzés

  14. Egyszerű LL(1) elemzés - Program

  15. Felhasznált anyagok • Dévai Gergely – ELTE IK • http://deva.web.elte.hu/fordprog/04-LL-handout.pdf

More Related