Syntax highlighting of Archiv/Konstrukce překladačů

V podstate stačí vedieť ako funguje LL(1) a SLR(1)

<h3>Analýza zhora-nadol</h3>
<ul>
<li>aká je definícia gramatiky LL(1)</li>
<li>ako sú nadefinované operátory FIRST a FOLLOW, a čo to predstavuje</li>
<li>pri LL(1) je potrebné vedieť, akým spôsobom skonštruujeme jednoduchý automat.</li>
</ul>

<h3>Analýza zdola-nahor</h3>
<ul>
<li>tu je hlavná konštrukcia SLR(1) automatu</li>
<li>treba vedieť konštrukciu LR(0) - to sú tie "množiny otečkovaných pravidiel"</li>
<li>potom treba vedieť, ako vyplníme tabuľky ACTION a GOTO</li>
<li>čo to znamená KOLIZIA</li>
<li>ako dosiahnuť kolíziu SHIFT/REDUCTION a REDUCTION/REDUCTION</li>
</ul>

<h3>kolízia SHIFT/REDUCTION</h3>
dostaneme tak, ze v jednej množine bude znak "." na konci pravidla A->x. a zároven z tejto množiny dostaneme inú množinu prechodom cez terminál, ktorý sa nachádza v množine FOLLOW(A).

<h3>kolízia REDUCTION/REDUCTION</h3>
dostaneme tak, ze v jednej množine bude znak "." v dvoch pravidlách s rôznymi neterminálmi na ľavej strane

<pre>
A->x.
B->y.
</pre>

a FOLLOW(A) prienik FOLLOW(B) je <b>neprázdna množina</b>.

<h3>príklad gramatiky s kolíziami S/S, R/R<h3>
<pre>
S->Q
Q->D
D->Cxz
Q->Ax
Q->Bxy
A->C
B->C
C->t
</pre>