1. séria domácich úloh

Pokiaľ nie je povedané ináč, všetky jazyky, gramatiky a automaty v zadaniach sú všeobecné (t.j. môžu byť ľubovoľné). Počiatočný stav gramatiky označujeme na stránke veľkým písmenom S. Pokiaľ nie je povedané ináč, malé písmená predstavujú terminály a veľké neterminály. Používame skrátenú formu zápisu pravidiel, t.j. pravidlo S -> A | bb sú vlastne dve pravidlá S -> A a S -> bb. Pokiaľ bola odprednášaná štandardná konštrukcia, používajte ju! V opačnom prípade musíte dokázať správnosť svojej konštrukcie. Vrch zásobníka sa nachádza vpravo.

  1. Zostrojte A-prekladač, ktorý preloží jazyk L1 na jazyk L2, kde
    L1={w|w patrí do {0,1,...,9}*, w je zápisom prvočísla v 10-kovej sústave}
    L2={w|w patrí do {0,1,...,9}*, w je zápisom čísla v 10-kovej sústave, ktoré nie je deliteľné dvoma ani troma}
  2. Zostrojte A-prekladač, ktorý preloží jazyk L1 na jazyk L2, kde
    L1={w|w patrí do {a,b,c}*, #aw=#bw=#cw }
    L2={aibici| i>=0}
  3. Zostrojte A-prekladač, ktorý preloží jazyk L1 na jazyk L2, kde
    L1={ancancan| n>=0}
    L2={anbncn| n>=0}
  4. Zostrojte A-prekladač, ktorý preloží ľubovoľný jazyk L1 nad abecedou {a,b,c} na jazyk L2, kde
    L2={a1a2...an| a1a1a2a2...anan patrí do L1}
  5. Zostrojte kontextovú gramatiku, ktorá generuje jazyk L, kde
    L={a2n| n>=0}
  6. Zostrojte kontextovú gramatiku, ktorá generuje jazyk L, kde
    L={aF(i)| i>=0, F(i) je i-te Fibbonaciho číslo}
    Fibbonaciho čísla sú definované nasledovne:
    F(0)=0, F(1)=1
    F(n+2)=F(n+1)+F(n) pre n>=0
  7. Zostrojte kontextovú gramatiku, ktorá generuje jazyk L, kde
    L={am| m je zložené číslo}
  8. Zostrojte kontextovú gramatiku, ktorá generuje jazyk L, kde
    L={aibjcidj| i,j>=0}