SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado 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
-
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.
-
yo te puedo conseguir lex y yacc, pero en pascal.
no se si te sirve
-
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.