private IdentificadorVariavel completarIdVariavel(Identificador id)
			throws SemanticError, IdentificadorNaoDefinidoException {
		if(analisandoRegistro)
			return new IdentificadorVariavelCampoRegistro(id.getNome(),
					deslocamento++, tipoAtual);
		
		switch (tipoAtual) {
		case VETOR:
			return completarIdVariavelVetor(id);
		case CADEIA:
			return completarIdVariavelCadeia(id);
		case REGISTRO:
			return completarIdVariavelRegistro(id);
		default:
			return new IdentificadorVariavelTipoPredefinido(id.getNome(),
					deslocamento++, tipoAtual);
		}
	}