<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nb">
	<id>https://www.wikisida.no/index.php?action=history&amp;feed=atom&amp;title=LALR-parser</id>
	<title>LALR-parser - Sideversjonshistorikk</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikisida.no/index.php?action=history&amp;feed=atom&amp;title=LALR-parser"/>
	<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=LALR-parser&amp;action=history"/>
	<updated>2026-05-14T12:33:00Z</updated>
	<subtitle>Versjonshistorikk for denne siden på wikien</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.wikisida.no/index.php?title=LALR-parser&amp;diff=108323&amp;oldid=prev</id>
		<title>Wikisida: Én sideversjon ble importert</title>
		<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=LALR-parser&amp;diff=108323&amp;oldid=prev"/>
		<updated>2026-03-27T03:59:33Z</updated>

		<summary type="html">&lt;p&gt;Én sideversjon ble importert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;nb&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Eldre sideversjon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Sideversjonen fra 27. mar. 2026 kl. 03:59&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;nb&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskjell)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key c1wiki:diff:1.41:old-108322:rev-108323 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wikisida</name></author>
	</entry>
	<entry>
		<id>https://www.wikisida.no/index.php?title=LALR-parser&amp;diff=108322&amp;oldid=prev</id>
		<title>nb&gt;Ranværing: /* Historie */</title>
		<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=LALR-parser&amp;diff=108322&amp;oldid=prev"/>
		<updated>2026-03-09T23:47:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Historie&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;En &amp;#039;&amp;#039;&amp;#039;LALR-parser&amp;#039;&amp;#039;&amp;#039; eller &amp;#039;&amp;#039;&amp;#039;Look-Ahead LR-parser&amp;#039;&amp;#039;&amp;#039; er innenfor [[informatikk]]en benevnelsen på en forenklet versjon av en [[kanonisk LR parser]]. [[Parsing|Parseren]] brukes til en [[syntaks|syntaktisk]] analyse av en tekst i henhold til et sett [[produksjon (informatikk)|produksjonsregler]] som er spesifisert av den [[formell grammatikk|formelle grammatikken]] til et [[programmeringsspråk]]. Syntaksen i teksten analyseres [[bunnen-opp-parsing|bunnen-opp]], med detaljer på laveste nivå før man analyserer den overordnede grammatiske struktur. «LR» betyr &amp;#039;&amp;#039;left-to-right&amp;#039;&amp;#039; (venstre til høyre) eller høyre-derivering i en [[kontekstfri grammatikk]].&lt;br /&gt;
&lt;br /&gt;
En LALR-parser ble første gang beskrevet av [[informatiker]]en [[Franklin DeRemer]], i hans [[filosofisk doktorgrad|Ph.D.-avhandling]] &amp;#039;&amp;#039;[https://web.archive.org/web/20130819012838/http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-065.pdf Practical Translators for LR(k) languages]&amp;#039;&amp;#039; fra oktober 1969.&amp;lt;ref name=&amp;quot;DeRemer1969&amp;quot;/&amp;gt; Der skrev han om de praktiske vanskeligheter som på denne tiden var forbundet med å implementere LR(1)-parsere. En LALR-parser anerkjenner flere former for grammatikk enn en LR(0)-parser, men krever på samme tid det samme antallet tilstander for et språk som kan anerkjennes av begge typen parsere. Derfor krever LALR-parsere mindre minne enn LR(1)-parsere som ikke er LR(0). Det finnes LR(1)-språk som ikke kan håndteres av LALR-parsere; LALR-parsere er likevel tilstrekkelige for de fleste utbredte programmeringsspråk,&amp;lt;ref name=&amp;quot;Chapman1988&amp;quot;/&amp;gt; deriblant [[Java (programmeringsspråk)|Java]],&amp;lt;ref&amp;gt;Generate the Parser&amp;quot;. Eclipse JDT Project.&amp;lt;/ref&amp;gt; selv om grammatikken for mange språk er [[tvetydighet (grammatikk)|tvetydig]].&lt;br /&gt;
&lt;br /&gt;
Den opprinnelige beskrivelsen spesifiserte ingen [[algoritme]] for en slik parser med en formell grammatikk. De første algoritmene ble beskrevet i 1973.&amp;lt;ref name=&amp;quot;Anderson1973&amp;quot;/&amp;gt; I oktober 1982 publiserte DeRemer og [[Thomas Pennello]] en algoritme som produserte minne-effektive LALR-parsere.&amp;lt;ref name=&amp;quot;DeRemer1982&amp;quot;/&amp;gt; LALR-parsere kan genereres automatisk med [[LALR-parsergenerator]]er som [[Yacc]] eller [[GNU Bison]]. Den automatisk genererte kode kan deretter forbedres manuelt av håndskrevet kode.&lt;br /&gt;
&lt;br /&gt;
==Historie==&lt;br /&gt;
I juli 1965 ble [[LR-parser]]en (&amp;#039;&amp;#039;Left to Right, Rightmost derivation&amp;#039;&amp;#039;) oppfunnet av den [[usa|amerikanske]] [[informatiker]]en [[Donald Knuth|Donald Ervin Knuth]] ved [[Stanford University]]. Denne parseren godtar ethvert [[deterministiske kontekstfrie språk|deterministisk kontekstfritt språk]] i en lineært avgrenset tid.&amp;lt;ref name=&amp;quot;Knuth1965&amp;quot;/&amp;gt; Høyre-deriveringer har svært store minnekrav, og å implementere en LR-parser var upraktisk på denne tiden grunn av den begrensede mengden med [[RAM]] i datamaskiner.&lt;br /&gt;
&lt;br /&gt;
For å løse dette problemet, foreslo informatikeren [[Franklin DeRemer]] ved [[Massachusetts Institute of Technology]] (MIT) i oktober 1969 to forenklede versjoner av LR-parseren, nemlig en Look Ahead LR (LALR) parser&amp;lt;ref name=&amp;quot;DeRemer1969&amp;quot;/&amp;gt; og en [[Simpel LR-parser]] (SLR). Begge hadde mye mindre krav til RAM, men håndterte færre grammatikker, og LALR-parseren var den mest effektive av de to.&amp;lt;ref name=&amp;quot;DeRemer1969&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I mai 1975 konverterte [[Bell Laboratories]] sin [[C (programmeringsspråk)|C-kompilator]] til LALR-algoritmen; denne kompilatoren ble tatt i bruk på [[UNIX versjon 6]] og var tidligere blitt implementert ved hjelp av en [[rekursiv descendant parser]].&lt;br /&gt;
&lt;br /&gt;
I 1977 ble minneoptimaliseringer oppfunnet for LR-parseren, men fortsatt var den mindre minne-effektiv enn de forenklede versjonene.&lt;br /&gt;
&lt;br /&gt;
Den 1. august 1977 utga [[Alfred Aho]] og [[Jeffrey Ullman]] den såkalte «[[Principles of Compiler Design|drageboken]]»;&amp;lt;ref name=&amp;quot;Aho1977&amp;quot;/&amp;gt; denne klassiske teksten som snart ble en lærebok i [[kompilatorteknikk]], er kjent for sitt omslagsbilde av en ridder som bekjemper en drage. På ridderens lanse stod det skrevet LALR, og denne parseralgoritmen stod sentralt i boken.&amp;lt;ref name=&amp;quot;Aho1977&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Aho1986_215_247&amp;quot;/&amp;gt; Den 1. januar 1986 kom [[Compilers: Principles, Techniques, and Tools|andre utgave]] med [[Ravi Sethi]] som medforfatter,&amp;lt;ref name=&amp;quot;Aho1986&amp;quot;/&amp;gt; og den 10. september 2006 tredje utgave med Sethi og [[Monica Sin-Ling Lam]] som medforfattere.&amp;lt;ref name=&amp;quot;Aho2006&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I 1979 kunngjorde Franklin DeRemer og [[Thomas Pennello]] en serie optimaliseringer for LALR-parseren som ville forbedre minne-effektiviteten.&amp;lt;ref name=&amp;quot;DeRemer1982&amp;quot;/&amp;gt; Deres arbeid ble publisert i oktober 1982.&amp;lt;ref name=&amp;quot;DeRemer1982&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[UNIX versjon 7]] ble lansert av Bell Laboratories den 11. januar 1979, og inkluderte den mest omfattende og lett tilgjengelige verktøykjede for kompilator-konstruksjon som noensinne er utviklet. Sentralt i denne verktøykjeden var [[Yacc]], en [[LALR-parsergenerator]]. [[Operativsystemet]]s hovedkompilator, [[Portable C Compiler]] (pcc), var også implementert ved hjelp av LALR. PCC var standard i [[Berkeley Software Distribution]] (BSD) frem til lanseringen av 4.4BSD i 1994, da den ble erstattet av [[GNU Compiler Collection|GNU C Compiler]] (GCC). PCC ble også benyttet i [[FreeBSD]], [[OpenBSD]], [[NetBSD]] og av enkelte [[Linuxdistribusjon]]er.&lt;br /&gt;
&lt;br /&gt;
Etter år 2000 har vi sett et paradigmeskifte bort fra LALR-parsere og tilbake til rekursive descendant parsere. Fordi LALR-parseren utfører høyrederivasjoner i stedet for den mer intuitive venstrederivasjon, er forståelsen av dens virkemåte svært vanskelig. Dette gjør det vanskelig og tidkrevende å finne den korrekte og effektive LALR-grammatikk. Av samme grunn er LALR-parseres feilmeldinger ikke alltid forståelige for sluttbrukere. Enhver LR(k &amp;gt; 0)-tabell gjør det likevel trivielt å oppliste de ulike gyldige [[leksikalsk analyse|token]] når en syntaksfeil inntreffer. Av denne grunn er en rekursiv descendant parser å foretrekke. Den krever mer håndskrevet kode fordi den skal anerkjenne språk på et lavere nivå. De har likevel ikke de spesielle vanskelighetene ved LALR-parsere, fordi de bruker venstrederivering.&lt;br /&gt;
&lt;br /&gt;
Den 23. mai 1987 lanserte [[GNU]] første versjon av GNU C Compiler (GCC).&amp;lt;ref&amp;gt;[https://gcc.gnu.org/releases.html GCC Releases],  Free Software Foundation, Inc., 16. juli 2015&amp;lt;/ref&amp;gt; Kompilatoren var basert på en LALR-parser generert av Yacc. Den 6. mars 2006 lanserte GNU versjon 3.4.6 av [[GNU Compiler Collection]] (GCC).&amp;lt;ref name=&amp;quot;gcc34&amp;quot;&amp;gt;[https://gcc.gnu.org/gcc-3.4/changes.html GCC 3.4 Release Series. Changes, New Features, and Fixex], gnu.org, 6. mars 2006&amp;lt;/ref&amp;gt;  Den Yacc-baserte LALR-parseren for C og [[C++]] i tidligere versjoner, ble erstattet av en håndskrevet rekursivt descendant parser.&amp;lt;ref name=&amp;quot;gcc34&amp;quot;/&amp;gt; Denne parseren brukes fortsatt i versjon 15.2, som ble lansert 8. august 2025.&lt;br /&gt;
&lt;br /&gt;
[[Clang]], som ble lansert 26. september 2007 som en konkurrent til GCC, har fra starten av benyttet en rekursiv descendant parser.&amp;lt;ref&amp;gt;Kevin Hu&amp;#039;s Blog: [https://blog.kevinhu.me/2014/11/24/24-what-parsers-are-they-using/ What Parsers Are They Using?] {{Wayback|url=https://blog.kevinhu.me/2014/11/24/24-what-parsers-are-they-using/ |date=20160623043126 }}, 24. november 2014&amp;lt;/ref&amp;gt; Versjon  22.2.0, som ble lansert 24. februar 2026, bruker fortsatt denne parseren.&lt;br /&gt;
&lt;br /&gt;
Den 18. desember 1987 lanserte [[Larry Wall]] den første versjonen av det [[funksjonell programmering|funksjonelle]] [[skriptspråk]]et [[Perl]].&amp;lt;ref&amp;gt;[[Larry Wall]]: [http://groups.google.com/group/comp.sources.unix/tree/browse_frm/month/1988-02?_done=%2Fgroup%2Fcomp.sources.unix%2Fbrowse_frm%2Fmonth%2F1988-02%3F&amp;amp; v13i001: Perl, a &amp;quot;replacement&amp;quot; for awk and sed, Part01/10], nyhetsgruppen comp.sources.unix, 1. februar 1988&amp;lt;/ref&amp;gt; Dette språket har en større kompleksitet enn noen tidligere språk, og benytter seg aggressivt av en LALR-parser, produsert med Yacc.&amp;lt;ref&amp;gt;casiano: [http://www.perlmonks.org/?node_id=876097 Yacc is dead], perlmonks.org, 8. desember 2010&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den 19. juli 2000 startet arbeidet med [[Perl 6]],&amp;lt;ref&amp;gt;Kline, Joe: [http://www.perl.com/pub/a/2000/08/tpc4.html Report from the Perl Conference], perl.com, 21. august 2000&amp;lt;/ref&amp;gt; en radikal nyimplementasjon av dette språket. [[Rakudo Perl 6]], med første lansering av både kompilatoren og dens moduler den 29. juli 2010, tar likeledes i bruk en rekursiv descendant parser som alternativ til LALR.&amp;lt;ref&amp;gt;[http://irclog.perlgeek.de/parrot/2010-03-03 IRC log for #parrot, 2010-03-03] {{Wayback|url=http://irclog.perlgeek.de/parrot/2010-03-03 |date=20160306180409 }}, irclog.org, 3. mars 2010&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Versjon 2026.02 ble lansert 28. februar 2026. Også denne bruker en rekursiv descendant parser.&lt;br /&gt;
&lt;br /&gt;
==Oversikt==&lt;br /&gt;
Generelt refererer begrepet LALR-parser til en LALR(1)-parser, akkurat som begrepet LR-parser refererer til en LR(1)-parser.Tallet &amp;quot;(1)&amp;quot; er en referanse til et enkelt &amp;#039;&amp;#039;[[parsing|lookahead]]&amp;#039;&amp;#039; under parsingen. På samme måte finnes det LALR(2)-parsere med to &amp;#039;&amp;#039;lookahead&amp;#039;&amp;#039;, og LALR(k)-parsere med &amp;#039;&amp;#039;k&amp;#039;&amp;#039; antall &amp;#039;&amp;#039;lookahead&amp;#039;&amp;#039;, men de er sjeldent i bruk.&lt;br /&gt;
&lt;br /&gt;
LALR(1)-parseren er basert på LR(0)-parseren, så den kan også betegnes som en LA(1)LR(0)-parser, eller mer generelt som en LA(k)LR(0)-parser. Der finnes en to-parameter-familie av LA(k)LR(j)-parsere, for alle kombinasjoner av &amp;#039;&amp;#039;j&amp;#039;&amp;#039; og &amp;#039;&amp;#039;k&amp;#039;&amp;#039;, som kan bli avledet av LALR(&amp;#039;&amp;#039;j +k&amp;#039;&amp;#039;), men disse er sjelden i praktisk bruk.&lt;br /&gt;
&lt;br /&gt;
Som tilfellet er med andre LR-parsere, er LALR-parsere svært effektive i å finne den enkelte korrekte [[bunnen-opp parsing]] i et enkelt venstre-til-høyre scan av den innmatede strømmen, fordi den ikke trenger [[tilbakesporing]]. Den bruker alltid et &amp;#039;&amp;#039;lookahead&amp;#039;&amp;#039;, hvor LALR(1) er det vanligste.&lt;br /&gt;
&lt;br /&gt;
==Relasjonen til andre parsere==&lt;br /&gt;
===LR-parsere===&lt;br /&gt;
LALR(1)-parseren er mindre kraftig enn LR(1)-parseren, og kraftigere enn SLR(1)-parseren, selv om de bruker de samme [[produksjon (informatikk)|produksjonsreglene]]. Forenklingen som LALR(1)-parsere introduserer består i å slå sammen regler som har identiske kjerne-elementer, fordi lookahead ikke er kjent under prosessen med å konstruere LR(0). Dette reduserer parserens kraftfullhet, fordi det å ikke kjenne lookahead skaper usikkerhet om neste regel parseren skal velge og kan gi reduser/reduser-konflikter. Alle konflikter som oppstår i en LALR(1)-parser når den anvendes på en entydig LR(1)-grammatikk, er reduser/reduser-konflikter. SLR(1)-parseren foretar ytterligere sammenslåinger, noe som introduserer tilleggs-konflikter.&lt;br /&gt;
&lt;br /&gt;
Standardeksempelet på en LR(1)-grammatikk som ikke kan bli parset av en LALR(1)-parser, og som gir en reduser/reduser-konflikt, er følgende:&amp;lt;ref&amp;gt;&amp;quot;[http://www.cse.ohio-state.edu/~gurari/course/cse756/cse756su56.xht 7.9 LR(1) but not LALR(1)]   {{Wayback|url=http://www.cse.ohio-state.edu/~gurari/course/cse756/cse756su56.xht |date=20100804231352 }}&amp;quot;, &amp;#039;&amp;#039;[http://www.cse.ohio-state.edu/~gurari/course/cse756/cse756.xht CSE 756: Compiler Design and Implementation] {{Wayback|url=http://www.cse.ohio-state.edu/~gurari/course/cse756/cse756.xht |date=20100723153301 }},&amp;#039;&amp;#039; Eitan Gurari, Spring 2008&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Vorcak2011&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   S → a E c&lt;br /&gt;
     → a F d&lt;br /&gt;
     → b F c&lt;br /&gt;
     → b E d&lt;br /&gt;
   E → e&lt;br /&gt;
   F → e&lt;br /&gt;
&lt;br /&gt;
Under konstruksjonen av LALR-tabellen, vil to tilstander slå seg sammen til en, og etterpå vil lookahead bli tvetydig. Den ene tilstanden med lookahead er:&lt;br /&gt;
&lt;br /&gt;
   E → e. {c,d}&lt;br /&gt;
   F → e. {c,d}&lt;br /&gt;
&lt;br /&gt;
En LR(1)-parser vil skape to forskjellige tilstander, hver med en lookahead som ikke er i konflikt, og ingen av dem er tvetydig. I en LALR-parser har denne ene tilstanden motstridende handlinger (gitt lookahead c eller d, reduser til E eller F), en reduser/reduser konflikt; den ovennevnte grammatikken vil bli erklært tvetydig av en [[LALR-parsergenerator]] og konflikter vil bli rapportert.&lt;br /&gt;
&lt;br /&gt;
For å løse problemet, må tvetydigheten bli oppløst ved å velge E, fordi den intreffer før F i grammatikken. Den resulterende parser vil likevel ikke kunne gjenkjenne den gyldige innmatningsekvensen &amp;lt;code&amp;gt;b e c&amp;lt;/code&amp;gt;, ettersom den tvetydige sekvensen &amp;lt;code&amp;gt;e c&amp;lt;/code&amp;gt; er redusert til &amp;lt;code&amp;gt;(E → e) c&amp;lt;/code&amp;gt;, snarere enn den korrekte &amp;lt;code&amp;gt;(F → e) c&amp;lt;/code&amp;gt;, men &amp;lt;code&amp;gt;b E c&amp;lt;/code&amp;gt; finnes ikke i grammatikken.&lt;br /&gt;
&lt;br /&gt;
===LL-parsere===&lt;br /&gt;
LALR(&amp;#039;&amp;#039;k&amp;#039;&amp;#039;)-parsere er ikke sammenlignbare med [[LL-parsere|LL(&amp;#039;&amp;#039;k&amp;#039;&amp;#039;)-parsere]]: for enhver &amp;#039;&amp;#039;j&amp;#039;&amp;#039; og &amp;#039;&amp;#039;k&amp;#039;&amp;#039; som begge er større enn 0, finnes det en LALR(&amp;#039;&amp;#039;j&amp;#039;&amp;#039;)-grammatikk som ikke er en [[LL-grammatikk|LL(&amp;#039;&amp;#039;k&amp;#039;&amp;#039;)-grammatikk]], og omvendt. Faktisk er det ubestemmelig hvorvidt en gitt LL(1)-grammatikk er LALR(&amp;#039;&amp;#039;k&amp;#039;&amp;#039;) for enhver &amp;lt;math&amp;gt;k &amp;gt; 0&amp;lt;/math&amp;gt;.&amp;lt;ref name=&amp;quot;Chapman1988&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avhengig av nærværet av tomme derivasjoner, kan en LL(1)-grammatikk være identisk med en SLR(1) eller en LALR(1)-grammatikk. Hvis LL(1)-grammatikken ikke har noen tomme derivasjoner, er den SLR(1) og hvis alle symboler med tomme derivasjoner har ikke-tomme derivasjoner, er det LALR(1). Hvis symbolene som bare har en tom derivasjon eksisterer, kan ikke kan grammatikken være LALR(1).&amp;lt;ref name=&amp;quot;Beatty1979&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referanser==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Aho1977&amp;quot;&amp;gt;[[#Aho1977|Aho 1977]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Aho1986&amp;quot;&amp;gt;[[#Aho1986|Aho 1986]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Aho1986_215_247&amp;quot;&amp;gt;[[#Aho1986|Aho 1986 side 215&amp;amp;ndash;247]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Aho2006&amp;quot;&amp;gt;[[#Aho2006|Aho 2006]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Anderson1973&amp;quot;&amp;gt;[[#Anderson1973|Anderson 1973]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Beatty1979&amp;quot;&amp;gt;[[#Beatty1979|Beatty 1979]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Chapman1988&amp;quot;&amp;gt;[[#Chapman1988|Chapman 1988, s. 86-87]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;DeRemer1969&amp;quot;&amp;gt;[[#DeRemer1969|DeRemer 1969]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;DeRemer1982&amp;quot;&amp;gt;[[#DeRemer1982|DeRemer 1982]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Knuth1965&amp;quot;&amp;gt;[[#Knuth1965|Knuth 1965]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Vorcak2011&amp;quot;&amp;gt;[[#Vorcak2011|Vorčák 2011]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Litteratur==&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Aho1977 &lt;br /&gt;
  | forfatter=[[Alfred Aho|Aho, Alfred Vaino]]; [[Jeffrey Ullman|Ullman, Jeffrey David]]&lt;br /&gt;
  | utgivelsesår=1977&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel= [[Principles of Compiler Design]]&lt;br /&gt;
  | side=&lt;br /&gt;
  | forlag=[[Addison-Wesley]], 1. august 1977&lt;br /&gt;
  | isbn=0-201-00022-9&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Aho1986&lt;br /&gt;
  | forfatter=Aho, Alfred Vaino; Ullman, Jeffrey David; [[Ravi Sethi|Sethi Ravi]]&lt;br /&gt;
  | utgivelsesår=1986&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel=[[Compilers: Principles, Techniques, and Tools]]&lt;br /&gt;
  | side=&lt;br /&gt;
  | forlag=Addison-Wesley, 1. januar 1986&lt;br /&gt;
  | isbn=0-201-10088-6&lt;br /&gt;
  | id=ISBN 978-0-201-10088-4&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Aho2006&lt;br /&gt;
  | forfatter=Aho, Alfred Vaino; Ullman, Jeffrey David; Sethi Ravi; [[Monica Sin-Ling Lam|Lam, Monica Sing-Ling]]&lt;br /&gt;
  | utgivelsesår=2006&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel=[[Compilers: Principles, Techniques, and Tools]]&lt;br /&gt;
  | side=&lt;br /&gt;
  | forlag=Addison-Wesley, 2. utgave, 10. september 2006&lt;br /&gt;
  | isbn=0-321-48681-1&lt;br /&gt;
  | id=ISBN 978-0-321-48681-3&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Anderson1973 &lt;br /&gt;
  | forfatter=Anderson, Thomas; Eve, James; Horning, James, Jim&lt;br /&gt;
  | utgivelsesår=1973&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel= Efficient LR(1) parsers&lt;br /&gt;
  | url=http://link.springer.com/article/10.1007/BF00571461#page-1&lt;br /&gt;
  | side=&lt;br /&gt;
  | forlag=Acta Informatica (2): 2–39, Springer-Verlag 1973&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Beatty1979 &lt;br /&gt;
  | forfatter=Beatty, John C.&lt;br /&gt;
  | utgivelsesår=1979&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel= On the relationship between LL(1) and LR(1) grammars&lt;br /&gt;
  | url=https://cs.uwaterloo.ca/research/tr/1979/CS-79-36.pdf&lt;br /&gt;
  | side=&lt;br /&gt;
  | forlag=Journal of the ACM 29 (4 (Oct)): 1007–1022, 4. oktober 1979&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Chapman1988&lt;br /&gt;
  | forfatter=Chapman, Nigel P.&lt;br /&gt;
  | utgivelsesår=1988&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel= LR Parsing: Theory and Practice (Cambridge Studies in Cultural Systems)&lt;br /&gt;
  | side=&lt;br /&gt;
  | forlag= Cambridge University Press, 29. januar 1988&lt;br /&gt;
  | isbn=0-521-30413-X&lt;br /&gt;
  | id=ISBN 978-0-521-30413-9&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
 |ref           = DeRemer1969&lt;br /&gt;
 |forfatter     = [[Franklin DeRemer|DeRemer, Franklin Lewis]]&lt;br /&gt;
 |utgivelsesår = 1969&lt;br /&gt;
 |artikkel      = &lt;br /&gt;
 |redaktør     = &lt;br /&gt;
 |tittel        = Practical Translators for LR(k) languages&lt;br /&gt;
 |side          = &lt;br /&gt;
 |url           = http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-065.pdf&lt;br /&gt;
 |forlag        = (Ph.D.). [[Massachusetts Institute of Technology]], [[Massachusetts]], 24. oktober 1969&lt;br /&gt;
 |url-status   = død&lt;br /&gt;
 |arkivurl      = https://web.archive.org/web/20130819012838/http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-065.pdf&lt;br /&gt;
 |arkivdato     = 2013-08-19&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=DeRemer1982 &lt;br /&gt;
  | forfatter=DeRemer, Franklin Lewis; [[Thomas Pennello|Pennello, Thomas]] &lt;br /&gt;
  | utgivelsesår=1982&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel=Efficient Computation of LALR(1) Look-Ahead Sets&lt;br /&gt;
  | side=&lt;br /&gt;
  | url=http://3e8.org/pub/scheme/doc/parsing/Efficient%20Computation%20of%20LALR%281%29%20Look-Ahead%20Sets.pdf&lt;br /&gt;
  | forlag=(PDF). Transactions on Programming Languages and Systems (ACM) 4 (4): 615–649, oktober 1982&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Knuth1965 &lt;br /&gt;
  | forfatter=[[Donald Knuth|Donald Ervin Knuth]]&lt;br /&gt;
  | utgivelsesår=1965&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel=On the translation of languages from left to right&lt;br /&gt;
  | side=&lt;br /&gt;
  | url=http://www.cs.dartmouth.edu/~mckeeman/cs48/mxcom/doc/knuth65.pdf&lt;br /&gt;
  | forlag=Information and Control, volume 8, issue 6, sidene 607–639, Juli 1965&lt;br /&gt;
}}&lt;br /&gt;
*{{Kilde bok&lt;br /&gt;
  | ref=Vorcak2011 &lt;br /&gt;
  | forfatter=Vorčák, Ján &lt;br /&gt;
  | utgivelsesår=2011&lt;br /&gt;
  | artikkel=&lt;br /&gt;
  | redaktør=&lt;br /&gt;
  | tittel=Why is this LR(1) grammar not LALR(1)?&lt;br /&gt;
  | side=&lt;br /&gt;
  | url=http://stackoverflow.com/questions/8496065/why-is-this-lr1-grammar-not-lalr1&lt;br /&gt;
  | forlag=stackoverflow.com, 13. desember 2011&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Autoritetsdata}}&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Parsingalgoritmer]]&lt;br /&gt;
[[Kategori:Massachusetts Institute of Technology]]&lt;br /&gt;
[[Kategori:Informatikkens historie]]&lt;br /&gt;
[[Kategori:IT-relaterte introduksjoner i 1969]]&lt;br /&gt;
[[Kategori:Vitenskap i 1969]]&lt;br /&gt;
[[Kategori:1969 i USA]]&lt;/div&gt;</summary>
		<author><name>nb&gt;Ranværing</name></author>
	</entry>
</feed>