public static Tip_LIzraz_Const_Niz PROVJERI_unarni_izraz(){
		String linija = mParser.ParsirajNovuLiniju();
		Tip_LIzraz_Const_Niz vrati;
		UniformniZnak uz = UniformniZnak.SigurnoStvaranje(linija);
		
		if (linija.equals("<postfiks_izraz>")){
			vrati = PROVJERI_postfiks_izraz();
			return vrati;
		}
		
		if (uz != null && (uz.mNaziv.equals("OP_DEC") || uz.mNaziv.equals("OP_INC"))){
			linija = mParser.ParsirajNovuLiniju();	// ucitaj <unarni_izraz>
			Tip_LIzraz_Const_Niz unarni_izraz = PROVJERI_unarni_izraz();
			if (!unarni_izraz.mL_izraz || !Utilities.ImplicitnaPretvorbaMoguca(unarni_izraz.mTip, Tip._int) || unarni_izraz.mNiz){
				String greska = "<unarni_izraz> ::= " + uz.FormatZaIspis() + " <unarni_izraz>";
				Utilities.WriteStringLineToOutputAndExit(greska);
			}
			vrati = new Tip_LIzraz_Const_Niz();
			vrati.mTip = Tip._int;
			vrati.mL_izraz = false;
			vrati.mConst = false;
			vrati.mNiz = false;
			return vrati;
		}
		
		if (linija.equals("<unarni_operator>")){
			// kaze uputa da <unarni_operator> ne treba provjeravati,
			linija = mParser.ParsirajNovuLiniju();	// ali ipak treba ucitati (PLUS | MINUS | OP_TILDA | OP_NEG)
			linija = mParser.ParsirajNovuLiniju();	// ucitaj <cast_izraz>
			Tip_LIzraz_Const_Niz cast_izraz = PROVJERI_cast_izraz();
			if (!Utilities.ImplicitnaPretvorbaMoguca(cast_izraz.mTip, Tip._int) || cast_izraz.mNiz){
				String greska = "<unarni_izraz> ::= " + "<unarni_operator>" + " <cast_izraz>";
				Utilities.WriteStringLineToOutputAndExit(greska);
			}
			vrati = new Tip_LIzraz_Const_Niz();
			vrati.mTip = Tip._int;
			vrati.mL_izraz = false;
			vrati.mConst = false;
			vrati.mNiz = false;
			return vrati;
		}
		
		return null;
	}