private void valorImpressao() {

		if (comparaLexema(Tag.NUMERICO)) {

			consomeToken();

		} else if (comparaLexema(Tag.VERDADEIRO) || comparaLexema(Tag.FALSO)) {

			consomeToken();

		} else if (comparaLexema(Tag.IDENTIFICADOR)) {

			Simbolo c = new Simbolo(escopoAtual, null, listaTokens.get(
					indiceLista).getNomeDoToken(), null, "VARIAVEL");

			boolean v = TabelaDeSimbolos.getTabelaDeSimbolos()
					.verificarDeclaracaoVariavel(c);

			if (!v) {

				numeroErro++;

				ex.excecao("Erro semântico: ",
						"Variável não declarada depois do token "
								+ listaTokens.get(indiceLista - 1)
										.getNomeDoToken(),
						(listaTokens.get(indiceLista - 1).getLinhaLocalizada()));

				return;

			} else {

				String t = TabelaDeSimbolos.getTabelaDeSimbolos()
						.retornaVariavel(c).getTipoLexema();

				c.setTipo(t);

				c.setClasse(null);

				indiceLista++;

			}

			if (comparaLexema('(')) {

				indiceLista--;

				chamaFuncaoProced(c);

			} else {

				indiceLista--;

				consomeToken();

			}

		} else if (comparaLexema('(')) {

			consomeToken();

			expressaoAritmetica();

			if (numeroErro == 0) {

				if (comparaLexema(')')) {

					consomeToken();

				} else {

					numeroErro++;

					ex.excecao("1257");

					return;

				}

			} else {

			}

		} else {

			numeroErro++;

			ex.excecao("1271");

			return;

		}

	}