C/Visual C - Mi Propio Lenguaje

   
Vista:

Mi Propio Lenguaje

Publicado por Tukon (2 intervenciones) el 01/02/2012 04:34:05
Buenas... NO QUIERO QUE ME HAGAN LA TAREA QUIERO QUE ME ASESOREN, estoy llevando el curso de estructura de datos y el profe desde el primer dia nos dejo el proyecto. el enunciado es el siguiente:
PROYECTO DEL CURSO
Desarrolle un lenguaje de programacion "propietario" en español, que usted se invente, que tome un archivo de texto, verifique su sintaxis, y ejecute el programa del archivo de texto.

Instrucciones validas:
Todas las sintaxis de Pascal, en español
Bitacora de errores por linea, en un archivo de texto por separado

Ok, mi duda es mas o menos como puedo hacerlo, y como hago para importat un archivo de texto a c++, y como guardar el archivo de texto en el ordenador. Ademas de como se puede dar la orden de compilar el archivo de texto importado. no se si me explico bien, cualquier tipo de ayuda seria bienvenida.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mi Propio Lenguaje

Publicado por Capitan Kirk capitan.kirk09@gmail.com (94 intervenciones) el 01/02/2012 13:41:41
Primero, piensa en qué sintaxis, palabras clave y estructuras de control vas a implementar en ese lenguaje.

En segundo lugar, el crear un compilador no es fácil: Tienes que traducir a código máquina, ver cómo utilizar los servicios q
Mira en esta página

http://www.thefreecountry.com/compilers/cpp.shtml

Busca la entrada a LCC - A Retargetable Compiler for ANSI-C (busca este en concreto, hay u par de compiladores más que están basados en éste). En ella hace mención a un libro que describe el código fuente de este compilador (que puedes bajarte también).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mi Propio Lenguaje

Publicado por Capitan Kirk capitan.kirk09@gmail.com (94 intervenciones) el 01/02/2012 14:14:28
Primero, piensa en qué sintaxis, palabras clave y estructuras de control vas a implementar en ese lenguaje.

En segundo lugar, el crear un compilador no es fácil: Tienes que traducir a código máquina, ver cómo utilizar los servicios que te proporcione el sistema operativo, etc. Por ello, creo que más bien lo que se te pide es un intérprete.

Lee el archivo línea por línea y guárdalo en memoria (que tendrás que reservar). Luego, para ejecutar ese programa que has leído, tendrás que descomponer cada línea en palabras clave, nombres de variable, puntuación, constantes, etc., (busca información sobre analizadores sintácticos, Parsers en inglés), reportando los errores que encuentre y, finalmente, si la línea es correcta, realizar lo que se pida. También tendrías que generar espacio para variables, o bien que programa y variables residan en el mismo bloque de memoria.

Sobre las palabras clave, no hay problema: Una vez decidas cuáles son, las implementas en el intérprete, ya sea en español, en chino mandarín o en sánscrito.

Mira en esta página

http://www.thefreecountry.com/compilers/cpp.shtml

Busca la entrada a LCC - A Retargetable Compiler for ANSI-C (busca este en concreto, hay un par de compiladores más que están basados en éste). En ella hace mención a un libro que describe el código fuente de este compilador (que puedes bajarte también). Ahí podrás encontrar ideas de cómo hacer algunas cosas.

En esta otra página:

http://www.thefreecountry.com/compilers/pascal.shtml

busca la entrada P4 Pascal Compiler, es un compilador e intérprete Pascal, escrito en Pascal (obtienes el código fuente, necesitarías un compilador Pascal para utilizarlo, pero creo que a tí te interesarán más los fuentes).

Ten en cuenta, además, que la mayor parte de la información interesante estará en inglés.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mi Propio Lenguaje

Publicado por Tukon (2 intervenciones) el 01/02/2012 19:26:29
ok Gracias por esa info... la vere y la analizaré, xq yo lo que tenia como pensado era, bueno escribir mi archivo de texto ejp:

programa prueba;
usos crt;

variables
numero: entero;
i: entero;
inicio

escribesl('sl = salto de linea');
escribesl('digite un numero');
recibe(numero);

si numero< 100
inicio
escribe('es menor a 100');
fin
sino
inicio
escribe('es mayor a 100');
fin;

para i :=1 hasta (numero/2) haga
inicio
escribe(i);
fin;

fin.
que esto lo traduzca por medio de puros if, que guarde el archivo traducido en un nuevo archivo llamado textotraducido.
luego de traducido llame a texto_traducido y lo compile y ejecute
no se que tan complicado se puede volver.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar