Kanonisk LR-parser

Fra Wikipedia, den frie encyklopedi
(Omdirigert fra «Kanonisk LR parser»)

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. ^ a b 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.