• Viernes 17 de Mayo de 2024, 00:28

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - yhauxX

Páginas: [1]
1
Visual C++ / Re: Compilador Xml
« en: Martes 6 de Junio de 2006, 20:34 »
Parece ke no se adjunto esto es lo ke tenia el fichero:

%{
/****************************************************************************
myparser.y
ParserWizard generated YACC file.

Date: jueves, 01 de junio de 2006
****************************************************************************/

#include "mylexer.h"
%}





%union
{
   struct { int type;} type_exp;
   struct { int entry;} symbol;
}



/////////////////////////////////////////////////////////////////////////////
// declarations section

// attribute type
%include {
#ifndef YYSTYPE
#define YYSTYPE int
#endif
}




// place any declarations here

// tokens
//%type <type_exp> atributos
            /*tag_ap_decl  //tag de apertura de declaracion del xml
                 tag_ci_decl  //tag de cierre de declaracion del xml
                 tag_ap       //tag de apertura de xml
                 tag_ci       //tag de cierre de xml
                 tag_ap_com   //tag de apertura de comentarios
                 tag_ci_com   //tag de cierre de comentarios            
             */
            
%token <symbol> ID
//               NUM
               LITERAL

%token XML
%token ENCODING
%token VERSION
%token COMI
%token COMF
%token XMLI
%token XMLF
//%right '='            // operador relacional derecho
//%left  '/'          // operadores relacionales  izquierdos    




// parser name
%name myparser

// class definition
{
   private:
   
      Lexer* lexer;
      
      Programa programa;
     
      int j;
      
      TableSymbols ts;
   
      Errors errors;
      
      int type;
     
      
   public:
      void Init(Lexer* lexer,Program& , TableSymbols& ts, Errors&);
      void yyerror(char* text);
      void yysyntaxerror();

}


%%

/////////////////////////////////////////////////////////////////////////////
// rules section


// place your YACC rules here (there must be at least one)

//Grammar

documento:            declaracion_xml cuerpo
                        ;

declaracion_xml:      XMLI XML atribXML XMLF
                  ;

atribXML:            VERSION '=' ver | ENCODING '=' code | VERSION '=' ver ENCODING '=' code
                  ;

ver:               "1.0"|"1.1"
                  ;


code:               "ISO-8859-1" | "US-ASCII" | "UTF-8" | "UCS-2" | "EUC-JP"|"ISO-8859-2"
                        |"ISO-8859-3"|"ISO-8859-4"|"ISO-8859-5"|"ISO-8859-6"|"ISO-8859-7"|"UTF-7"
                        ;



cuerpo:               etiqueta
                  |;


etiqueta:            comentario etiqueta comentario '<' reservada '>' comentario etiqueta comentario LITERAL comentario'<''/' reservada '>'
                  |'<' reservada '/''>'
                        ;
                           
reservada:            ID atributos
                  ;


atributos:            atributos ID '=' '\"' LITERAL '\"'
                  |;

   
comentario:            COMI LITERAL COMF|;

%%

/////////////////////////////////////////////////////////////////////////////
// programs section


void Parser::Init(Lexer* lexer, Program& programa, TableSymbols& ts, Errors& errors)
{
   this->programa = programa;
   this->ts = ts;
   this->lexer = lexer;
   this->errors = errors;
   j = 0;
   yycreate(lexer);
}


void Parser::yyerror(char* text)
{
   errors.AddSemanticError(lexer->yylineno,text, lexer->yytext);
}





void Parser::yysyntaxerror()
{
   errors.AddSyntaxError(lexer->yylineno,lexer->yytext);
}

2
Visual C++ / Re: Sobre Algoritmo (kruskal)
« en: Martes 6 de Junio de 2006, 20:31 »
Cita de: "fuhrer"
Hola, que tal.

Yo creo que lo que quieres es el algorítmo de Kruskal, ya que si es un algorítmo voráz, entonces no es Kruskal, ya que por definición un algorítmo voráz toma al nodo más cercano si tomar en cuenta que se al óptimo.
En realidad lo ke nesecito es aplicar el algoritmo de kruskal a el problema ke mencionaba anteriormente ,yo solo soy estudiante de Ing Informatica y ahora es ke me estoy adentrando en esta cuestion de los algoritmos y esas cosas tal vez me confundi al postrar el tema ...se ke kruskal trabaja haciendo de cada nodo un arbol y partiendo de la arista de menos pesos comienza a formar un arbol de recubrimiento minimo para el grafo con los nodos ke sevan incorpporando .....ahora en el problema del caminante nesecito moverme por kada nodo desde el ke quiera partir tratando de recorrer la menor distancia .....lo ke trato de hacer es adaptar kruskal a la situacion aunke no trabaje de forma optima

3
Visual C++ / Compilador Xml
« en: Martes 6 de Junio de 2006, 20:30 »
Hola

Mi problema en este caso es ke soy estudiante de ing informatica y me han dado un proyecto de curso el cual consiste en hacer un compilador para xml ....el lenguaje en l ke siempre he trabajado es el C++, entonces, como herramienta para la generación de  la parte lexica y semantica me han dado el YAACC o ParserGenerator el cual no se como trabaja ...he logrado hacer algunas cosas como la parte lexica con la validacion de errores y todo (lexer) ....mi problema es la semantica (parser) que no tengo ni idea de como levantar todo el sistema de errores ke pueden surgir con la gramatica del problema

Quisiera ke si alguien pudiera ayudarme con un ejemplo o una explicacion detallada de como hacerlo estaria eternamente agradecido,aki les adjunto lo ke he hecho de la parte d parser la validacion de errores se haria en cada definicion de gramatica

4
Visual C++ / Compilador Xml
« en: Martes 6 de Junio de 2006, 20:22 »
Hola

Mi problema en este caso es ke soy estudiante de ing informatica y me han dado un proyecto de curso el cual consiste en hacer un compilador para xml ....el lenguaje en l ke siempre he trabajado es el C++, entonces, como herramienta para la generación de  la parte lexica y semantica me han dado el YAACC o ParserGenerator el cual no se como trabaja ...he logrado hacer algunas cosas como la parte lexica con la validacion de errores y todo (lexer) ....mi problema es la semantica (parser) que no tengo ni idea de como levantar todo el sistema de errores ke pueden surgir con la gramatica del problema

Quisiera ke si alguien pudiera ayudarme con un ejemplo o una explicacion detallada de como hacerlo estaria eternamente agradecido,aki les adjunto lo ke he hecho de la parte d parser la validacion de errores se haria en cada definicion de gramatica

5
Visual C++ / Sobre Algoritmo (kruskal)
« en: Martes 6 de Junio de 2006, 04:23 »
Mi problema es el siguiente:

Nesecito el codigo fuente de el algoritmo voraz  kruskal para el caso : "El Viajante de Comercio" ....lo he estado buscando por todos lados y no aparece el tio seria bueno ke alguien pudiera ayudarme lo mas pronto posible

Páginas: [1]