SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: BlackWind en Miércoles 18 de Agosto de 2004, 23:36

Título: Como Hacer Un Compilador?
Publicado por: BlackWind en Miércoles 18 de Agosto de 2004, 23:36
hola,me gustaria saber si alguien tiene algunos links que me pueda pasar para iniciarme en la programacion de compiladores, ya sea en java, c/c++ o c#.......
por ahi escuche algo de lex&yacc.....
asi es........sera mi proyecto final para fin de semestre, pero ya quiero ir viendo para hacer algo bueno!.

gracias de antemano
Título: Re: Como Hacer Un Compilador?
Publicado por: JuanK en Jueves 19 de Agosto de 2004, 20:00
pues es muy sencillo desde un ounto de vista y desde el otro no:


1- sencillo
 has una aplicacion que capture el texto y luego lo compile usando los comandos del jdk

2- dificil
crea tu propio generador de codigo de maquina para la maquina virtual 8 no recomensdado si no eres nu guru de la programackion y/o de java)

Ahora si lo que quieresw es crear un editor que te resalte la sintaxis entonces puedes averiguar acerca de la libreria flex y sus herreamientas o bioen puedes hacer tu propio analizador sintactico de acuerdo a tus necesidades.
Título: Re: Como Hacer Un Compilador?
Publicado por: emanuel_lingua en Miércoles 22 de Septiembre de 2004, 05:02
yo te puedo conseguir lex y yacc, pero en pascal.
no se si te sirve
Título: Re: Como Hacer Un Compilador?
Publicado por: Johan Hernandez en Jueves 21 de Octubre de 2004, 19:03
En C# es posible como hacer un compilador facil, utiliza lenguage intermediario. Genera IL con System.Reflection y el namespace CodeDom y lo guardas en un assembly. NO ES EL COMPILADOR DE C#, es tu propio compilador!. necesitaras el CLR de .net para ejecutar obviamnte.

Hay clases que generan codigo para crea variables en timpo de ejecucion)por ejemplo) y hasta crear clases que hereden de otros tipos. Esas clases que ayudan a generar IL la guardas  en un assembly ejecutable, no es dificil, solo le indicas o la ruta un stream a donde lo enviara. Aunque a la hora se serializar necesitaras leer alguos articulos, no es mal de morirse. Si poosees .NET Framework SDK encontraras en la documentacion informacion util, aunque si tienes MSDN es  very, very fun!!!. Busca en cualquiera de los un topico que se llama "MSIL" o "IL" y por ahi te vas... :)

Te aseguro que es mas divertido que dificil. Yo tengo uno pequeño, Y pense que era el unico loco al que se le habria ocurrido crear un compilador.
Escribeme a thempumpkin1979@hotmail.com y te mando info.