public static void OBRADI_jednakosni_izraz(boolean staviNaStog){
		String linija = mParser.ParsirajNovuLiniju();	
		int trenLabela = mBrojacLabela++;
		
		if (linija.equals("<odnosni_izraz>")){
			OBRADI_odnosni_izraz(staviNaStog);
			return;
		}
		
		if (linija.equals("<jednakosni_izraz>")){
			OBRADI_jednakosni_izraz(true);
			linija = mParser.ParsirajNovuLiniju(); // ucitaj (OP_EQ | OP_NEQ)
			UniformniZnak uz_operator = UniformniZnak.SigurnoStvaranje(linija);
			linija = mParser.ParsirajNovuLiniju(); // ucitaj <odnosni_izraz>
			OBRADI_odnosni_izraz(true);
			
			mIspisivac.DodajKod("POP R1", "operator jednakosnog izraza " + uz_operator.mLeksickaJedinka + ": pocetak");
			mIspisivac.DodajKod("POP R0");
			if (uz_operator.mNaziv.equals("OP_EQ")){
				mIspisivac.DodajKod("CMP R0, R1", "usporedba");
				mIspisivac.DodajKod("JR_EQ JI_ISTINA_" + trenLabela, "skoci na JI_ISTINA_ ako je R0 manji");
			}else if (uz_operator.mNaziv.equals("OP_NEQ")){
				mIspisivac.DodajKod("CMP R0, R1", "usporedba");
				mIspisivac.DodajKod("JR_NEQ JI_ISTINA_" + trenLabela, "skoci na JI_ISTINA_ ako je R0 veci");
			}
			mIspisivac.DodajKod("MOVE %D 0, R0", "izraz nije istinit");
			mIspisivac.DodajKod("JR JI_DALJE_" + trenLabela, "preskoci postavljanje R0 u 1");
			mIspisivac.PostaviSljedecuLabelu("JI_ISTINA_" + trenLabela);
			mIspisivac.DodajKod("MOVE %D 1, R0", "izraz je istinit");
			mIspisivac.PostaviSljedecuLabelu("JI_DALJE_" + trenLabela);
			
			// makni 2 sa stoga i stavi novi ako je potrebno
			NaredbenaStrukturaPrograma.mStog.remove(NaredbenaStrukturaPrograma.mStog.size()-1);
			NaredbenaStrukturaPrograma.mStog.remove(NaredbenaStrukturaPrograma.mStog.size()-1);
			if (staviNaStog){
				mIspisivac.DodajKod("PUSH R0", "postavi rezultat na stog");
				Ime_Velicina_Adresa novi = new Ime_Velicina_Adresa();
				novi.mIme = null;
				novi.mAdresa = false;
				novi.mVelicina = 4;
				NaredbenaStrukturaPrograma.mStog.add(novi);
			}
			return;
		}
	}