🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #1725

Re: Como puedo hacer lo siguiente en pascal?

#1725
From: Zephryn Xirdal
Date: Mon, 18 Jul 2005 09:24
52 lines
3165 bytes
En Mon, 18 Jul 2005 09:59:53 +0200, Pedro Maicas <esta_no_es@jet.es>  
escribi�:

> On Sun, 17 Jul 2005 11:15:09 +0200, "Zephryn Xirdal"
> <zephryn_xirdal@qutame.telefonica.net> wrote:
>
>> Exisit�a al menos un lenguaje que permit�a eso: clipper y sus bloques de
>> c�digo, que se pasaban como cadenas y luego se conver�an en tiempo de
>> ejecuci�n en P-CODE y era ejecutado.
>
>   Si, cuando un programador de visual basic "necesita"
> hacer eso (por lo visto hay quien no puede vivir sin ello),
> es seguro que se trata de un ex-cliper :-)
>
>   En C eso se soluciona pasando un puntero a la funcion,
> es decir la funcion no devolver� un nombre, sino un puntero.
> En C++ las funciones virtuales evitan ese "problema".
> En otros lenguajes, no queda m�s remedio que usar
> un  switch  aunque sea monstruoso de grande.
>
>   Pero, en mi opini�n, en cualquier lenguaje compilado se
> pierden los nombres de las funciones en el proceso de
> compilaci�n, y por eso no se puede invocar una funcion
> por su nombre.  Y, tambien en mi opini�n, si esa forma
> de trabajar fuera tan "imprescindible" como algunos creen,
> todos los lenguajes permitir�an hacerlo aunque fuera a costa
> de tener que incluir en el ejecutable el nombre de todas
> las funciones.


Sip. El �nico motivo que veo para hacer algo de eso es en la construcci�n  
de un int�rprete (de comandos o de script o de lo que sea), pero en ese  
caso es infinitamente m�s f�cil (y r�pido) sustituyendo el nombre de la  
funci�n por el �ndice al array que contiene los punteros a los comandos  
durante la primera pasada por el c�digo.

>
> Saludos :-)           -Pedro-
>
>   http://www.maicas.net/
>
>   e-mail en www.maicas.net



-- 
Si somos arrastrados a Cristo, creemos sin querer; se usa entonces la  
violencia, no la libertad.
		-- San Agust�n. (354-439) Obispo, fil�sofo y Padre de la Iglesia Latina.
==================================================================================
Powered by zxFortunes   -  It's free  -   
http://sourceforge.net/projects/zxfortune
Technical Details
Message-ID: <op.st3q28h8fc9mjw@red-mars.local.lan>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!feed.ac-versailles.fr!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
References: <ykhCe.56911$US.45029@news.ono.com> <4h2kd1hgr6j9chb1cep65bnqfsg45l36ja@4ax.com> <113kd1dm0vdrnea2lc4bos0s8u1bef8dok@4ax.com> <op.st1vzjx2fc9mjw@red-mars.local.lan> <7vnmd1tjef3e4k1008oahmq17fd0gkghe2@4ax.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,2957caf3c3f0777a
X-Google-Attributes: gidf86c8,public
X-Google-Language: SPANISH,ASCII
From: "Zephryn Xirdal" <zephryn_xirdal@qutame.telefonica.net>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Como puedo hacer lo siguiente en pascal?
Date: Mon, 18 Jul 2005 11:24:34 +0200
Organization: The Zephryn Xirdal Company
Lines: 52
Message-ID: <op.st3q28h8fc9mjw@red-mars.local.lan>
References: <ykhCe.56911$US.45029@news.ono.com> <4h2kd1hgr6j9chb1cep65bnqfsg45l36ja@4ax.com> <113kd1dm0vdrnea2lc4bos0s8u1bef8dok@4ax.com> <op.st1vzjx2fc9mjw@red-mars.local.lan> <7vnmd1tjef3e4k1008oahmq17fd0gkghe2@4ax.com>
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: individual.net b9rT7dbD+VJH7nPRUouYRA77LVQfR5111MdPwVqVdQnRQo31ha
User-Agent: Opera M2(BETA1)/8.02 (Win32, build 7668)
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!feed.ac-versailles.fr!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail