private void acao173(Token token) throws SemanticError{
		try {
			idAtual = tabela.get(token.getLexeme(), nivelAtual);
			if (idAtual instanceof IdentificadorVariavelCampoRegistro) {
				if (regAtual.getListaCampos().contains(idAtual)) {
					tipoVariavel = ((IdentificadorVariavel) idAtual).getTipo();
				} else {
					throw new SemanticError(token.getLexeme()
							+ " não é campo do registro atual",
							token.getPosition());
				}
			} else {
				throw new SemanticError("Esperava-se um campo de registro",
						token.getPosition());
			}

			if (leVar) {
				if (tipoVariavel != Tipo.BOOLEANO) {
					leVar = false;
					// Gera código para leitura
				} else {
					throw new SemanticError(
							"Variável booleana não pode ser lida",
							token.getPosition());
				}
			}

		} catch (IdentificadorNaoDefinidoException ex) {
			throw new SemanticError(ex.getMessage(), token.getPosition());
		}
	}