public static void PROVJERI_init_deklarator(Tip_Const ime_tipa){
		String linija = mParser.ParsirajNovuLiniju(); // ucitaj <izravni_deklarator>
		Tip_Const_Niz_BrEle_TipFunk izravni_deklarator = PROVJERI_izravni_deklarator(ime_tipa);
		
		linija = mParser.DohvatiProviriVrijednost();
		Boolean pogreska = false, pridruzivanje = false;
		UniformniZnak uz_op_pridruzi = UniformniZnak.SigurnoStvaranje(linija);
		if (uz_op_pridruzi != null && uz_op_pridruzi.mNaziv.equals("OP_PRIDRUZI")){
			pridruzivanje = true;
			linija = mParser.ParsirajNovuLiniju(); // ucitaj OP_PRIDRUZI
			linija = mParser.ParsirajNovuLiniju(); // ucitaj <inicijalizator>
			LISTA_Tip_LIzraz_Const_Niz inicijalizator = PROVJERI_inicijalizator();
			
			if (Utilities.JeBrojevniTip(izravni_deklarator.mTip) && !izravni_deklarator.mNiz){ // nije niz
				if (!Utilities.ImplicitnaPretvorbaMoguca(inicijalizator.mLista.get(0).mTip, izravni_deklarator.mTip)) pogreska = true;
				if (inicijalizator.mJeNiz) pogreska = true;
			}else if (Utilities.JeBrojevniTip(izravni_deklarator.mTip) && izravni_deklarator.mNiz){ // je niz
				if (izravni_deklarator.mBrElemenata < inicijalizator.mLista.size()) pogreska = true;
				if (!inicijalizator.mJeNiz) pogreska = true;
				 // svaki clan u polju inicijalizacije se mora implicitno moc pretvorit u tip izravnog_deklaratora
				for (int i = 0; i < inicijalizator.mLista.size(); ++i)
					if (!Utilities.ImplicitnaPretvorbaMoguca(inicijalizator.mLista.get(i).mTip, izravni_deklarator.mTip) ||
							inicijalizator.mLista.get(i).mNiz){
						pogreska = true;
						break;
					}
			}else pogreska = true;
		}
		
		if (!pridruzivanje && izravni_deklarator.mConst) pogreska = true; // nesmije biti const ako nema pridruzivanja
		
		if (pogreska){
			String greska = "<init_deklarator> ::= <izravni_deklarator>";
			if (pridruzivanje) greska += " " + uz_op_pridruzi.FormatZaIspis() + " <inicijalizator>";
			Utilities.WriteStringLineToOutputAndExit(greska);
		}
		
		return;
	}