public static void OBRADI_naredba_grananja(){
		String linija = mParser.ParsirajNovuLiniju(); // ucitaj KR_IF
		linija = mParser.ParsirajNovuLiniju(); // ucitaj L_ZAGRADA
		linija = mParser.ParsirajNovuLiniju(); // ucitaj <izraz>
		Izrazi_G.OBRADI_izraz(true);
		linija = mParser.ParsirajNovuLiniju(); // ucitaj D_ZAGRADA
		
		mIspisivac.DodajKod("POP R0", "if naredba: skini izraz sa stoga");
		mStog.remove(mStog.size() - 1);
		mIspisivac.DodajKod("CMP R0, 0", "if naredba: provjeri ako je izraz jednak 0");
		int trenLabela = mBrojacLabela++;
		mIspisivac.DodajKod("JR_EQ NG_DALJE_1_" + trenLabela, "if naredba: ako je onda preskoci dio koda");
		
		linija = mParser.ParsirajNovuLiniju(); // ucitaj <naredba>1
		OBRADI_naredba();
		
		// ima li jos i "else"?
		Boolean elsePostoji = 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")) elsePostoji = true;
		}
		
		if (elsePostoji){
			mIspisivac.DodajKod("JR NG_DALJE_2_" + trenLabela, "if naredba: preskoci ELSE dio koda");
			mIspisivac.PostaviSljedecuLabelu("NG_DALJE_1_" + trenLabela);
			linija = mParser.ParsirajNovuLiniju(); // ucitaj KR_ELSE (jer smo ga dobavili samo privirkivanjem)
			linija = mParser.ParsirajNovuLiniju(); // ucitaj <naredba>2
			OBRADI_naredba();
			mIspisivac.PostaviSljedecuLabelu("NG_DALJE_2_" + trenLabela);
		}else{
			mIspisivac.PostaviSljedecuLabelu("NG_DALJE_1_" + trenLabela);
		}
	}