Kanonisk LR-parser

Fra Wikisida.no
Hopp til navigering Hopp til søk

En kanonisk LR parser eller LR(1) parser er innenfor informatikken betegnelsen på en LR(k)-parser med k=1, det vil si en parser med en enkelt lookahead terminal. Alle parsere med k>1 kan omdannes til en LR(1)-parser.[1] Den kan håndtere alle deterministiske kontekstfrie språk.[1] Tidligere ble LR(k) parsere unngått på grunn av de store minnekravene sammenlignet med LALR-parsere og LL(1) parsere. En «minimal LR(1)-parser» som har tilnærmet minnekrav som LALR, er de siste årene blitt tilbydd av flere parser generatorer.

Liksom de fleste parsere, blir LR(1) parsere automatisk generert av kompilator-kompilatorer som GNU Bison, MSTA, Menhir,[2] HYACC[3] og LRSTAR.[4]

Referanser[rediger | rediger kilde]

  1. 1,0 1,1 Knuth, D. E. (juli 1965). «On the translation of languages from left to right» (PDF). Information and Control. 8 (6): 607–639. doi:10.1016/S0019-9958(65)90426-2. Besøkt 29. mai 2011. 
  2. «What is Menhir?». INRIA, CRISTAL project. Besøkt 29. juni 2012. 
  3. «HYACC, minimal LR(1) parser generator». 
  4. «LRSTAR, minimal LR(1) parser generator». Arkivert fra originalen 10. juli 2013. 
Autoritetsdata