while kif do prg end ksz kif ksz ksz 1. a 4. helyes zárójelezések aa aaa aaaa aaaaaaaaaaaa a* S -> eps | aS a+ === aa* a* === eps | a+ S -> aA A -> eps | aA S -> a | aS 2. a 5. egyszerű imperatív ava nyelv avava - avavava avavavavavavavavava a(va)* S -> aV V -> eps | vaV S -> a | SvS S S S S S S S S S S avava avava [1+2, 3*(4+5)/a, 2] 3. ap apap apapap apapapap apapapapapapapapapap (ap)+ S -> apS | ap S -> Sap | ap (ap)* S -> apS | eps S -> SS | ap int i; i = 3 * 4; 4. helyes zárójelezések () ()() ()()()()()()()()()()()()()()()()()()() (()) ((((())))())(()) S -> () | SS | (S) S -> eps | S(S) S -> eps | (S)S