public static void PROVJERI_naredba_grananja(){
		String linija = mParser.ParsirajNovuLiniju(); // ucitaj KR_IF
		UniformniZnak uz_kr_if = UniformniZnak.SigurnoStvaranje(linija);
		linija = mParser.ParsirajNovuLiniju(); // ucitaj L_ZAGRADA
		UniformniZnak uz_l_zagrada = UniformniZnak.SigurnoStvaranje(linija);
		linija = mParser.ParsirajNovuLiniju(); // ucitaj <izraz>
		Tip_LIzraz_Const_Niz izraz = Izrazi_Sem.PROVJERI_izraz();
		linija = mParser.ParsirajNovuLiniju(); // ucitaj D_ZAGRADA
		UniformniZnak uz_d_zagrada = UniformniZnak.SigurnoStvaranje(linija);
		linija = mParser.ParsirajNovuLiniju(); // ucitaj <naredba>1
		PROVJERI_naredba();
		
		// ima li jos i "else"?
		Boolean elseExists = false;
		linija = mParser.DohvatiProviriVrijednost();
		UniformniZnak uz_else = null;
		if (linija != null){
			uz_else = UniformniZnak.SigurnoStvaranje(linija);
			if (uz_else != null && uz_else.mNaziv.equals("KR_ELSE")) elseExists = true;
		}
		
		// ispis u slucaju pogreske
		if (!Utilities_Sem.ImplicitnaPretvorbaMoguca(izraz.mTip, Tip._int) || izraz.mNiz){
			String greska = "<naredba_grananja> ::= " + uz_kr_if.FormatZaIspis() + " " +
					uz_l_zagrada.FormatZaIspis() + " <izraz> " + uz_d_zagrada.FormatZaIspis() + " <naredba>";
			if (elseExists) greska += " " + uz_else.FormatZaIspis() + " <naredba>";
			Utilities_Sem.WriteStringLineToOutputAndExit(greska);
		}
		
		if (elseExists){
			linija = mParser.ParsirajNovuLiniju(); // ucitaj KR_ELSE (jer smo ga dobavili samo privirkivanjem)
			linija = mParser.ParsirajNovuLiniju(); // ucitaj <naredba>2
			PROVJERI_naredba();
			return;
		}
	}