tiez by ma to zaujimalo, v archive je to takto:
B(d|H(E)|c|H(F)|K)
check(d|H(E)|c|H(F)|K)
while (symobl in d|H(E) )
{
if(symbol==d)
getsymbol()
else
error(d|H(E)|c|H(F)|K)
E(d|H(E)|c|H(F)|K)
check(d|H(E)|c|H(F)|K)
}
check(c|H(F)|K)
switch(sym)
case c: getsymbol()
case H(F) : F(K)
default : error(c|H(F)|K) // toto ma byt takto : error(K)
}
ale moc tomu nerozumiem... vedel by to niekto vysvetlit / okomentovat? ak to je vobec spravne
pozri si plocicovu prezentaciu
http://hornad.fei.tuke.sk/~plocica/ppj/p5.pdf z tohto som to ako tak pochopil.
v podstate vyhczadas z gramatiky jazyka a robis program na to ako by to slo.
prvy znak ma by byt z mnoziny B, tak napises B(d|H(E)|c|H(F)|K). potom to otestujes pomocou funckie check ci nasledujuci znak je z mnoziny moznych znakov obsiahnutych v gramatike check(d|H(E)|c|H(F)|K).
potom su kucerave zatvorky a v nich {d E} -> tzn ze sa mozu znaky vykytovat viac krat. takze tam hodis cyklus, a z plocicovej stranky si pozries ako sa osetruje cyklus, a nakonies if.
takto som to pochopil ja, ak sa v niecom mylim prosim opravte ma.
BTW: podla plocicovej stranky a zadania ulohy by sa nemalo pisat B(d|H(E)|c|H(F)|K) ale B({d U HE U {c} U HF U K} - aspon myslim
este som zabudol, nepaci sa mi 9. riadok
E(d|H(E)|c|H(F)|K), nemalo by tam byt iba E(d|H(E)|K) ?