dalej otazka 3. Upravte bezkontext gramatiku A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
ten prevod tu uz bol, cize A -> a (bC | {B})
a synt anal
void A(symset K){
if(sym == a)
getsymbol();
else
error(b | HB | K);
check(b | HB | K);
switch (sym){
case b:
getsymbol();
C(K);
break;
case HB:
while(sym & HB){
B(HB | K);
check(HB | K);
}
break;
default: //tu ma zmiatlo to ze v tej alternative moze nastat aj prazdna vetva, cize case HD nastane len ak tam bude
if(!(sym & K)) //aspon jedno volanie B ale ak by to bol koniec retazca, tak by ten klasicky default vypisal error,
error(K); //co by nebolo korektne... jedine co ma napadlo ako osetrenie je takato podmienka.. nazory??
}
}