Friday, February 25, 2005

Comentario3 Sobre Proyecto MicroC

Luego de haber resuelto los problemas que anteriormente describi, en comentarios anteriores ahora estoy listo para empezar el parser, del cual he tratado de hacerlo pero muy poco.
Los problemas que mencione anteriormente los resolvi gracias a que he estado leyendo la guia de ANTLR que se nos proporciono, y precisamente lo que deje de ultimo que fueron los comentarios para este fin de semana, ya que solo tenia la idea de como poder resolverlo pero al compilarlo me tiraba errores, y lo deje por ultimo y en el examen nos salio esa pregunta y pues creo no sacar
los puntos que costaba ya que si hubiese leido esa parte que deje de ultimo hubiese podido resolver la pregunta del examen, ya que lo que respondi es casi lo que tenia en mi proyecto y que me daba errores de compilacion, y en la guia encontre como resolver ese problema, que no por cerca era lo que ya tenia escrito pero creo que si la idea de como se deberian procesar los comentarios.
De la guia he leido tambien sobre el parser pero a eso todavia no le entendio muy bien hay muchas cosas de las no se como hacerlo, pero seguire investigando ya que el lexer practicamente a mi criterio funciona bien, lo que me falta averiguar en la guia es sobre como capturar los errores para que sea el programa que estamos haciendo el que desplega los errores.
Inquietudes:
1.Sobre la tabla de simbolos vista en clase, falta por ver contenido sobre eso o ya terminamos, porque no se me ocurre como ni donde se programa(se nota que ando perdido?).?
2.En la guia de ANTLR que se nos proporciono se habla sobre parser tree y en clase pues me he fijado que se menciono algo sobre eso, lo que quiero es saber si esa parte debe de resolverse para esta parte del proyecto o solo lexer y parser ya que eso me asusto porque vi diferente la gramatica utiliza en la guia, o para compiladores2.?
3.Con lo referente a los despliegues de errores basta con el mensaje que se desplegue en el catch{}?
como por ejemplo:
//el archivo .txt
class $ Inicio
{
método inicio()
{
Sistema.imprime("Hola mundo!"+nl);
exit(0);
}
}

//el catch del main
catch (TokenStreamException tse) {
System.err.println("Error leyendo tokens" + "Linea:" + tok.getLine() + " " + "Columna:" + tok.getColumn() + " " +tok.getText());
System.exit(0);

//resultado de la salida
Linea:2 Columna:1 class
Error leyendo tokensLinea:2 Columna:1 class

o se debe mostrar el error asi:
Linea:2 Columna:7 $

Este el arcivo .txt con el que probe el lexer, muy corto y sencillo pero funciona!?
class Inicio
{
método inicio()
{
Sistema.imprime("Hola mundo!"+nl);
exit(0);
}
}

void R()
{
int a;
a=1;
if(a==2)
{
cout<<"a es != 1";
}
else
{
cout<<"a es == 1";
}
}


Sobre el comentario que añadio sobre los 8 caracteres que no se deben repetir todavia no he leido nada sobre eso pero tratare de investigar, cuando dice "libros de texto" se refiere al del dragon y el del tigre??, si son esos tratare de revisarlos este fin de semana.

0 Comments:

Post a Comment

<< Home