public Token analizzaExpr(ArrayList<Token> espr) throws OperazioneNonValidaException, OperatoreMissingException, ExtraTokenException, ParentesiParsingException, OperandoMissingException
	{
		ArrayList<Token> espressione = new ArrayList<Token>();
		Token t = peek();
		if(t.ritornaTipoToken().equals(Tok.LEFT_PAR))
		{
			consume();
			while(!peek().ritornaTipoToken().equals(Tok.RIGHT_PAR))
			{
				espressione.add(peek());
				consume();
				if(point==text.size()) break;
			}
			return analizzaExpr(espressione);
		}
		else if(isExprBooleana(espr))
		{
			ExprBooleana esprex = new ExprBooleana(espr);
			return esprex.getRisultato();
		}
		else if(isExprMatematica(espr))
		{
			ExprMatematica esprex = new ExprMatematica(espr);
			return esprex.getRisultato();
		}
		else if(isConfronto(espr))
		{
			Confronto esprex = new Confronto(espr);
			return esprex.getRisultato();
		}
		else throw new OperazioneNonValidaException();
	}