Proširiti mC gramatiku višestrukim iskazom pridruživanja i realizovati generisanje koda. Sintaksa višestrukog iskaza pridruživanja ima oblik (EBNF notacija): (vitičaste zagrade znače: 0 ili više puta) { "=" } "=" ";" predstavlja ime lokalne promenljive predstavlja numerički izraz Realizovati sledeće semantičke provere: - Svako ime promenljive koje se koristi u iskazu pridruživanja mora biti prethodno deklarisano - Svako ime promenljive koje se koristi u iskazu pridruživanja mora imati isti tip kao i numerički izraz Primer višestrukog iskaza pridruživanja: a = b = c = d + 5; Prethodnom primeru odgovara kod (pretpostavlja se da su promenljive a,b,c,d deklarisane u tom istom redosledu): ADDS -16(%14),$5,%0 // num_exp MOV %0,-12(%14) // višestruki iskaz pridruživanja MOV -12(%14),-8(%14) // višestruki iskaz pridruživanja MOV -8(%14),-4(%14) // višestruki iskaz pridruživanja Napomene: 1. Zadatak koji se ne kompajlira automatski dobija 0 poena!!! 2. Ne sme da se pokvari postojeća gramatika! 3. Testiranje proširenja gramatike treba da obuhvati: a) testiranje gramatike sa primerom koji ne sadrži nove konstrukcije (izlaz treba da bude IDENTIČAN kao pre proširenja gramatike) b) testiranje gramatike sa primerom koji sadrži nove konstrukcije (ispravni primeri i primeri koji treba da izazovu grešku - obavezno proveriti i jedno i drugo!)