[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programacao e o GOTO



Roberto Mello <rmello@cc.usu.edu> writes:

> On Wed, Jan 14, 2004 at 07:44:07AM -0200, Otavio Salvador wrote:
>> Eu penso da seguinte forma:
>> 
>> O goto, assim como o brack que quebram o paradigma da programacao
>> estruturada sao otimos para otimizacoes e podem ser evitados na
>> maioria das vezes e quando possivel isso deve ser feito. Ha casos em
>> que o ganho de performance ou mesmo a centralizacao de codigo ganho
>> com o uso desses "truques" eh grande e entao eu realmente acho que
>> devemos usa-los.
>
> Quando eu escrevi meu compilador eu usei o flex e o bison. Nao lembro qual
> dos dois, ou se sao os dois, mas gotos sao utilizados abundantemente no
> codigo C gerado.

Provavelmente voce tenha usado ambos.

Ele eh utilizado pois o codigo eh gerado a partir de uma mistura entre ER
(no caso do flex) ou BNF (no caso do bison) e codigo. Sendo assim eh
mais simples usar o goto para pular entre os blocos do que tentar
gerar um codigo completamente estruturado.

Entre outras coisas ha ganho de performance tambem.

> Isso se da' provavelmente para minimizar o uso da pilha e ganhar
> performance, mas nao refleti muito a respeito. 

Sim, isso eh uma das conseguencias.

> O goto e' uma ferramenta, e como toda ferramenta tem seu grau de
> periculosidade. Mas se voce souber utilizar muito bem a ferramenta...
> Geralmente essa ferramenta causa problemas, dai' nao ser aconselhada.

Sim, como eu mesmo disse. Tem usos bons e ruins. Ha situacoes em que
ele inclusive facilita o entendimento do codigo.

[]s

-- 
        O T A V I O    S A L V A D O R
---------------------------------------------
 E-mail: otavio@debian.org      UIN: 5906116
 GNU/Linux User: 239058     GPG ID: 49A5F855
 Home Page: http://www.freedom.ind.br/otavio
---------------------------------------------



Reply to: