Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como hacer un interprete de mi propio lenguaje

Estas en el tema de Como hacer un interprete de mi propio lenguaje en el foro de C/C++ en Foros del Web. Buenas, quería saber si era posible crear un interprete de mi propio lenguaje, osea tengo un amigo que hiso el Lua Dev, un player de ...
  #1 (permalink)  
Antiguo 08/02/2011, 16:55
 
Fecha de Ingreso: enero-2011
Mensajes: 25
Antigüedad: 8 años, 7 meses
Puntos: 1
Pregunta Como hacer un interprete de mi propio lenguaje

Buenas, quería saber si era posible crear un interprete de mi propio lenguaje, osea tengo un amigo que hiso el Lua Dev, un player de su propio código de Lua para PSP y otro que es el V-Lua, pero me gustaría saber como hacerlo para computadora osea para una PC, la verdad soy demasiado nuevo en esto jeje osea programando para PC pero ya he programado algo para PSP pero nunca he hecho un player y menos en PC, pero creo que la temática es algo así

::Inicia::
lee un fichero de texto (script);
revisa la sintaxis; si todo salio bien -> continua; sino devuelve un error de sintaxis;
ejecuta el código;
si algo salio mal durante la ejecución del código entonces da un error interno;
espera que presiones <espacio> para reiniciar o <enter> para salir.
fin

la verdad así es muy fácil, pero imaginando que solo tengo un comando "printText("text")" que lea eso y lo interprete a printf("text") como se haria?

int printText(cons char *Text){
printf(Text);
}

??

pero no es así que quiero hacerlo xD es mas como el Lua Ejemplo

Código:
print.text(x,y,string.formart("text"),color); -- Lua
Código:
/*en c*/
int print.text(int x, int y const char* text,COLOR* color){
printf(text); /*ya definido el prinf*/
pspDebugScreenSetXY(x,y); /*seteamos la posiciones X y X*/
pspDebugScreenSetTextColor(color); /* aquí no recuerdo como hacer la conversión ya que se supone que solo acepta hexadecimal y en la funcion del scrip debemos ponerlo en RGB EJ: (197,197,197)(R,G,B)*/
esto esta para PSP luego con las librerías de Lua Inscribimos nuestras funciones (las declaramos para el Player) y compilamos y vemos cuantos errores nos dio xD.

pero no se como es en PC

Última edición por n3dexo; 08/02/2011 a las 17:13
  #2 (permalink)  
Antiguo 09/02/2011, 01:08
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 8 años, 7 meses
Puntos: 89
Respuesta: Como hacer un interprete de mi propio lenguaje

¿Quieres que te expliquen como hacer un compilador entero en un post?
  #3 (permalink)  
Antiguo 09/02/2011, 14:08
 
Fecha de Ingreso: enero-2011
Mensajes: 25
Antigüedad: 8 años, 7 meses
Puntos: 1
Respuesta: Como hacer un interprete de mi propio lenguaje

Cita:
Iniciado por Heimish2000 Ver Mensaje
¿Quieres que te expliquen como hacer un compilador entero en un post?
No!! nunca haha xD pregunto como hacer un interprete por ejemplo imaginemos que carge el texto entonces como hago para interpretarlo en otro codigo?

Código:
/*Como reviso la sintaxis de los comando introducidos y de todo el texto?*/

char* script ="datos.dat";
   FILE *script;
   int i;

   fichero = fopen( script.mgt, "r" );
if (fichero){}
else
{
printf("y el fichero, que paso?");
}

sintaxischeck(); //??

/*en el archivo solo tenia una linea que decia "print.text("hola mundo");"
como interpreto para que salga "printf(texto_introducido);"*/

interpretacode(); //???

function print.text(const char* Text){
printf(Text);
}
else
if (Text = nil){
printf("El parametro Text esta vació, inserta algo \n");
}

Última edición por n3dexo; 09/02/2011 a las 14:34
  #4 (permalink)  
Antiguo 10/02/2011, 01:17
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 8 años, 7 meses
Puntos: 89
Respuesta: Como hacer un interprete de mi propio lenguaje

Le puedes pasar a las funciones el fichero directamente o si no, si lo has guardado en alguna structura, variable, clase o similar, pasar esta como parámetro a la función.
  #5 (permalink)  
Antiguo 10/02/2011, 10:44
 
Fecha de Ingreso: enero-2011
Mensajes: 25
Antigüedad: 8 años, 7 meses
Puntos: 1
Respuesta: Como hacer un interprete de mi propio lenguaje

mmmmmmmmm weno bamos aver mas o menos como seria porque nunca he hecho eso, ademas soy muy noob xD, pero si podrias poner un ejemplo o algo, si puedes claro si no vere como lo hago
  #6 (permalink)  
Antiguo 11/02/2011, 01:39
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 8 años, 7 meses
Puntos: 89
Respuesta: Como hacer un interprete de mi propio lenguaje

Sería así.

Supongo que podrás redefinir tú las funciones sintaxischeck y interpretacode para que acepten un fichero como parámetro de entrada

Código C:
Ver original
  1. /*Como reviso la sintaxis de los comando introducidos y de todo el texto?*/
  2.  
  3. char* script ="datos.dat";
  4.    FILE *script;
  5.    int i;
  6.  
  7.    fichero = fopen( script.mgt, "r" );
  8. if (fichero){}
  9. else
  10. {
  11. printf("y el fichero, que paso?");
  12. }
  13.  
  14. sintaxischeck(fichero); //??
  15.  
  16. /*en el archivo solo tenia una linea que decia "print.text("hola mundo");"
  17. como interpreto para que salga "printf(texto_introducido);"*/
  18.  
  19. interpretacode(fichero); //???
  20.  
  21. function print.text(const char* Text){
  22. printf(Text);
  23. }
  24. else
  25. if (Text = nil){
  26. printf("El parametro Text esta vació, inserta algo \n");
  27. }
  #7 (permalink)  
Antiguo 11/02/2011, 06:36
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 9 años, 5 meses
Puntos: 228
Respuesta: Como hacer un interprete de mi propio lenguaje

Yo hice una especie de compiladores para la facultad. Te recominedo usar Flex y Bison. Unos es un analizador lexico y otro un analizador sintactico.

Con flex pordes reconocer palabra por palabra y catalogarlas. Luegos con bison armas la sintaxis. y te va dejando porner acciones cuando va reconociendo sentencias.
  #8 (permalink)  
Antiguo 12/02/2011, 12:02
 
Fecha de Ingreso: enero-2011
Mensajes: 25
Antigüedad: 8 años, 7 meses
Puntos: 1
Respuesta: Como hacer un interprete de mi propio lenguaje

Cita:
Iniciado por sam90 Ver Mensaje
Yo hice una especie de compiladores para la facultad. Te recominedo usar Flex y Bison. Unos es un analizador lexico y otro un analizador sintactico.

Con flex pordes reconocer palabra por palabra y catalogarlas. Luegos con bison armas la sintaxis. y te va dejando porner acciones cuando va reconociendo sentencias.
Muchísimas Gracias, la verdad soy nuevo pero estoy en un foro que también usa este CMS y se dan "Gracias" y "Puntos" aquí existe eso?? te paso puntos "a los dos"
  #9 (permalink)  
Antiguo 12/02/2011, 12:21
 
Fecha de Ingreso: enero-2011
Mensajes: 25
Antigüedad: 8 años, 7 meses
Puntos: 1
Pregunta Respuesta: Como hacer un interprete de mi propio lenguaje

Gracias -- esto se repitió--

Última edición por n3dexo; 12/02/2011 a las 13:08 Razón: se repitió el post

Etiquetas: lenguaje, propio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:26.