Roberto Mello <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] UIN: 5906116 GNU/Linux User: 239058 GPG ID: 49A5F855 Home Page: http://www.freedom.ind.br/otavio ---------------------------------------------