PDA

Ver la versión completa : una duda de VB



spushan
14-04-2003, 18:38
con VB se podria crear un programa madre que pudiera crear archivos EXE?

eXcalibur
14-04-2003, 19:41
a ver si te he entendido, crear un programa que genere EXE. pero que EXE? un progrmama que genere programas?

twilight
14-04-2003, 20:11
Si la verdad es que es una pregunta de lo mas criptica... la he leido cuatro o cinco veces y no estoy seguro de lo que preguntas, spushan.

|RooT|
15-04-2003, 00:31
Supongo que se esta refieriendo a crear un compilador en Visual Basic.

Pues la verdad no lo e provado en Visual Basic pero si en C.

Pero no tiene porque ser imposible. Hay varias maneras de construirse unu mismo un pequeño compilador con un lenguaje de programación propio. Una de ellas te tendrias que currar un compilador que analizara la sintaxis del codigo fuente y que generar un bytecode para después ser leido por un interpetré (llamado siempre STUB) que va introduzido en el EXE generado para después leer el bytecode y ser ejecutado.

Otras de las maneras mas rallantes seria otro compilador que analizara la sintaxis (Como en el otro) Y después lo transformara todo a codigo de máquina. Esta es mas dificil y mucho mas dura.

Si teneis alguno alguna duda sobre programación de Compiladores, tengo bastante experiencia sobre ello :) No dudeis en preguntar.

(Como se nota que he dessarrollado varios compiladores) xD

Saludos.

Scar_T
15-04-2003, 05:12
Si quieres un analizador sintactico, que es la primera fase para un compilador, una manera facil de hacerlo es con flex, ya viene con linux, es muy bien.

¿No te refieres a algo como lo hace el winzip o winrar, que generan exe que descomprimen el archivo?

gondar_f
15-04-2003, 17:50
En respuesta a Scar_T: Creo que la idea de Flex es buena, pero con todos respectos, si lo solo sabe manejar VB, no creo que se mueba mucho por linux, y si ademas tiene que aprenderse a manejar en flex (no lo manejo y por tanto no conozco su dificultad) seria un chollo bastante amplio. Por cierto tengo entendido que con flex puedes crear un complilador, pero lo que hace es pasar el codigo del lenguaje creado a lenguaje c, con lo que aun necesitaria un compilador de c.

gondar_f
15-04-2003, 17:55
|RooT|: ya podias pasar algun manual, y si cuadra codigo. Tengo conocimientos de ANSI C.
My e-mail es: «[email protected]»

Scar_T
15-04-2003, 18:01
flex tambien tiene su version para windows, mas bien para dos.

Y no te crea ningun compilador, lo que te pasa a c, es el analizador sintactico.

Y no necesitas saber ningun lenguaje en especifico para manejarlo, sino simplemente tener conocimiento sobre compiladores, expresiones regulares, gramaticas, lenguajes (no de programacion), etc.

A flex lo que se le entrega son expresiones regulares.

Pero ya para hacer un compilador, es fundamental tener conocimientos del lenguaje ensamblador del microprocesador para el cual va a ser el compilador.

gondar_f
15-04-2003, 18:39
Scar_T: Gracias por la puntualización, no conozco flex personalmente, pero si que habia oido hablar bien de el y siempre me comentaron que no era demasiado facil de manejar, y que si querias hacer algo tenias que pasarte un buen puñado de horas delate de la maquina.
Tampoco sabia que habia vesión para windows.

|RooT|
16-04-2003, 16:49
gondar_f no tengo ningun manual sobre programación de compiladores. Venden bastantes libros sobre Compiladores y Desarrollo de compiladores. Desgraciadamente no te puedo mandar ningun codigo fuente de los mios ya que son proyectos empresariales y no son GNU.
El unico que podrias cojer el codigo fuente de compiladores creados por mi grupo ,que si es GNU, es de eDIV. Un compilador/interprete de videojuegos basado en Div Games Studio. No se si algunos abreis oido hablar de ellos. Demomento el proyecto lo tenemos un poco parado, por falta de tiempo. Pero si te miras el codigo fuente verás que no es muy complicado.

http://ediv.divsite.net
http://www.sourceforge.net/projects/edivc
Si tienes alguna pregunta no dudes en preguntar, ya que yo soy developer.

Si te interesa la creacion de un compilador te recomiendo que te mires el BASEC (Un compilador parecido al BASIC pero con nuevas funciones). Muy facil de estudiar y muy facil de entender. Tienes el codigo fuente tanto para linux como para windows.


Saludos.