A->{Db l Ca}
void A(symset K){
check (HD | b |HC | a | K);
while((sym) & (HD | HC )){
switch (sym){
case HD: D(HD | b |HC | a | K);
if(sym == b)
getsymbol();
else
error(HD | b |HC | a | K);
break;
case HC: C(HD | b |HC | a | K);
if(sym == a)
getsymbol();
else
error(HD | b |HC | a | K);
break;
}
check(HD | b |HC | a | K);
}
}
Ked mas while, tak tam ti moze prist vsetko, lebo sa to cykli,.. ked mas [] tam mas bud bude alebo nie,..ale vo while mas mat vsade rovnake podmienky, jak v prvom checku pred whilom.