Compartir

Analizador lexico, sintactico y semantico

Discusión cerrada
Ir a 12 ÚltimaÚltima
  1. #1
    Avatar de - Luchos -
    Registración
    Jun 2005
    Mensajes
    5,996
    Ubicación
    Mendoza, Argentina

    Unhappy Analizador lexico, sintactico y semantico

    Buenas a todos, en SSL nos han pedido hacer un "Analizador" lexico, sintactico y semantico sobre "Conjuntos". El tema es que no tengo la MENOR idea de como empezar. Nos han dado Flex y Bison como herramientas. Solo pido que alguien que sepa me explique como empezar o bien que proporcionen ejemplos para tener una idea

    Sory si no va aca el post
    Intel i5 3570K@CM212+ | Gigabyte GA Z77X-UD3H | 2x4GB DDR3 1600MHz GSKill Sniper | Sapphire 7950 3GB GDDR5 Vapor-X | Crucial M4 128 GB & WD Black 3 TB | LG IPS236VX | CM 690 II | CM Silent PRO M700 | ASUS Xonar DX | Xbox360 Pad | Logitech G110 | Sony Muteki HT-DDW5500 |
    Samsung Galaxy SIV 16@32GB

  2. #2
    Avatar de Hamburguejas al
    Registración
    Apr 2003
    Mensajes
    13,774

    Re: Analizador lexico, sintactico y semantico

    Me imagino que lo tenes que resolver con automatas
    Citar Mensaje original enviado por Lagartopro 20.0 Ver Mensaje
    Vengo probando linux desde el 2000
    Citar Mensaje original enviado por Lagartopro 20.0 Ver Mensaje
    Para mi manera de pensar, todas las comunidades y desarrolladores de linux, deberian unirse en desarrollar 1 LINUX, que siga habiendo distintas distros, pero que salga 1 LINUX orientado para el usuario comun, osea, el linux.

  3. #3
    Gil Trabajador Avatar de Kittler
    Registración
    Dec 2008
    Mensajes
    8,207
    Ubicación
    Argentina

    Re: Analizador lexico, sintactico y semantico

    o con lenguajes regulares

  4. #4
    Avatar de XGamer?
    Registración
    Dec 2003
    Mensajes
    287

    Re: Analizador lexico, sintactico y semantico

    El analizador lexico lo resolverias con un automata finito, y el sintactico con el codigo que te entrega Bison a partir de una BNF que le metas como input.

    El lexico separa el programa a analizar en tokens, y los tokens son pasados al analizador sintactico (el codigo que te tira Bison).

    No tenia idea de que era Flex, pero lo googlie y en su pagina parece tener mucha data. Viendo eso, olvidate de los automatas, Flex resuelve eso por vos.


    El analizador sintactico te lo da Bison ,y el lexico Flex.
    Clean

  5. #5
    Avatar de Hamburguejas al
    Registración
    Apr 2003
    Mensajes
    13,774

    Re: Analizador lexico, sintactico y semantico

    Faaaa... una vez tuve que armar algo asi para analizar query de sql y lo hice todo de cero en ansi c... eso me pasa por no googlear antes
    Citar Mensaje original enviado por Lagartopro 20.0 Ver Mensaje
    Vengo probando linux desde el 2000
    Citar Mensaje original enviado por Lagartopro 20.0 Ver Mensaje
    Para mi manera de pensar, todas las comunidades y desarrolladores de linux, deberian unirse en desarrollar 1 LINUX, que siga habiendo distintas distros, pero que salga 1 LINUX orientado para el usuario comun, osea, el linux.

  6. #6
    Avatar de - Luchos -
    Registración
    Jun 2005
    Mensajes
    5,996
    Ubicación
    Mendoza, Argentina

    Re: Analizador lexico, sintactico y semantico

    Oka, entonces ... , El trabajo es sobre "CONJUNTOS", que significa?? nos dieron un manual de flex y bison pero tienen como 53 paginas y un ejemplo pedorro que no sirve para mucho.

    Gracias gente
    Intel i5 3570K@CM212+ | Gigabyte GA Z77X-UD3H | 2x4GB DDR3 1600MHz GSKill Sniper | Sapphire 7950 3GB GDDR5 Vapor-X | Crucial M4 128 GB & WD Black 3 TB | LG IPS236VX | CM 690 II | CM Silent PRO M700 | ASUS Xonar DX | Xbox360 Pad | Logitech G110 | Sony Muteki HT-DDW5500 |
    Samsung Galaxy SIV 16@32GB

  7. #7
    Advocatus Diaboli Avatar de Dr.D
    Registración
    Feb 1984
    Mensajes
    27,312
    Ubicación
    Argentina

    Re: Analizador lexico, sintactico y semantico

    Solo 53 paginas y te da paja leerlas? Cambia de carrera.
    Dura lex, sed lex.
    Mi laboratorio secreto

  8. #8
    Avatar de Shuank
    Registración
    Aug 2005
    Mensajes
    5,800
    Ubicación
    Berlin, Germany

    Re: Analizador lexico, sintactico y semantico

    ajaj yo pense lo mismo.

    "y tiene solo 53 paginas", es cortisimo eso!

  9. #9
    Od.
    Avatar de Od.
    Registración
    Jan 2003
    Mensajes
    35,811
    Ubicación
    Argentina

    Re: Analizador lexico, sintactico y semantico

    el flex usa expresiones regulares, no automatas finitos (que expresan lo mismo pero serian un tanto incomodo de escribir, no?).

    el bison usa una gramatica libre de contexto y la salida que tokenizo el flex. Con eso armas el analizador sintactico

    El analizador semantico se hace poniendole reglas a la gramatica del bison, armando una traduccion dirigida por la sintaxis. La gramatica conviene que sea l-atribuida porque sino el bison la reacomoda por vos y puede generar ambigüedades que soluciona a la fueza si no le indicas nada. Asi que fijate que carajo esta generando. Si la gramatica original es ambigüa pone reglas de precedencia junto a la gramatica, sonc omandos de yacc/bison

    Flex y Bison son las implementaciones GNU de lex y yacc. En internet debe haber ciento treinta mil tutoriales y ejemplos.

    El bison genera parsers LALR.


    Hay tambien miles de generadores de parsers, no tiene sentido hacer el tuyo a mano a menos que sea para aprender
    BT | Tte. Gral. Peron
    BT - Primer y unico Tricampeon de BF1942 Argentina


    Qué linda es la borrachera
    porque de todo me olvido,
    y hasta pienso en el patrón
    y me parece un amigo.

  10. #10
    Avatar de - Luchos -
    Registración
    Jun 2005
    Mensajes
    5,996
    Ubicación
    Mendoza, Argentina

    Re: Analizador lexico, sintactico y semantico

    ajaj yo pense lo mismo.

    "y tiene solo 53 paginas", es cortisimo eso!
    No es la cantidad, sino que NO entiendo mucho y me pierdo bastante.

    Gracias gente por la ayuda
    Intel i5 3570K@CM212+ | Gigabyte GA Z77X-UD3H | 2x4GB DDR3 1600MHz GSKill Sniper | Sapphire 7950 3GB GDDR5 Vapor-X | Crucial M4 128 GB & WD Black 3 TB | LG IPS236VX | CM 690 II | CM Silent PRO M700 | ASUS Xonar DX | Xbox360 Pad | Logitech G110 | Sony Muteki HT-DDW5500 |
    Samsung Galaxy SIV 16@32GB

  11. #11
    Avatar de - Luchos -
    Registración
    Jun 2005
    Mensajes
    5,996
    Ubicación
    Mendoza, Argentina

    Re: Analizador lexico, sintactico y semantico

    Buenas gente, con un compa de la facu ya hicimos el archivo de flex y bison, el tema es que ahora lo quiero compilar pero no se como. Tengo el flex y el bison, pero no tiene un ejecutable, por lo que se me dio la idea de que se hace bajo DOS, pero COMO??

    Gracias
    Intel i5 3570K@CM212+ | Gigabyte GA Z77X-UD3H | 2x4GB DDR3 1600MHz GSKill Sniper | Sapphire 7950 3GB GDDR5 Vapor-X | Crucial M4 128 GB & WD Black 3 TB | LG IPS236VX | CM 690 II | CM Silent PRO M700 | ASUS Xonar DX | Xbox360 Pad | Logitech G110 | Sony Muteki HT-DDW5500 |
    Samsung Galaxy SIV 16@32GB

  12. #12
    Todo vuelve Avatar de El Hombre Gris
    Registración
    Oct 2004
    Mensajes
    5,835
    Ubicación
    Argentina

    Re: Analizador lexico, sintactico y semantico

    ¿Estas usando windows?

    Si la respuesta es SI, instalate cygwin y en la instalación inclui los paquetes de flex y bison.

    http://www.cygwin.com/

    Con eso vas a tener un shell seudo-*nix donde correr el flex y el bison.

    ---

    Luego para aprender a usarlos en la linea de comandos, lee el manual ejecutando:

    Código:
    man flex
    y

    Código:
    man bison

  13. #13
    Avatar de - Luchos -
    Registración
    Jun 2005
    Mensajes
    5,996
    Ubicación
    Mendoza, Argentina

    Re: Analizador lexico, sintactico y semantico

    Buenas gente, tengo algunas dudas. Gracias a todos ya pude hacer (con un amigo) el archivo de flex y bison. Ta todo piola hasta que compilo . Compile flex y salio joya. Ahora cuando compilo Bison me salen varios errores

    El que mas me importa es de la "$$, $1, ..." que son las pseudovariables, pero me salta un error de que no defini el tipo de estas variables. No se como hacerlo. Segun el manual me dice que se definen cuando defino los %token, %left %right y los %type, pero no logro entender como hacer para definirles el tipo

    Gracias a todos.
    Última edición por - Luchos - : 14-06-09 el 08:50 PM
    Intel i5 3570K@CM212+ | Gigabyte GA Z77X-UD3H | 2x4GB DDR3 1600MHz GSKill Sniper | Sapphire 7950 3GB GDDR5 Vapor-X | Crucial M4 128 GB & WD Black 3 TB | LG IPS236VX | CM 690 II | CM Silent PRO M700 | ASUS Xonar DX | Xbox360 Pad | Logitech G110 | Sony Muteki HT-DDW5500 |
    Samsung Galaxy SIV 16@32GB

  14. #14
    Od.
    Avatar de Od.
    Registración
    Jan 2003
    Mensajes
    35,811
    Ubicación
    Argentina

    Re: Analizador lexico, sintactico y semantico

    pusiste el YYSTYPE ?
    BT | Tte. Gral. Peron
    BT - Primer y unico Tricampeon de BF1942 Argentina


    Qué linda es la borrachera
    porque de todo me olvido,
    y hasta pienso en el patrón
    y me parece un amigo.

  15. #15
    Avatar de - Luchos -
    Registración
    Jun 2005
    Mensajes
    5,996
    Ubicación
    Mendoza, Argentina

    Re: Analizador lexico, sintactico y semantico

    Si, como una libreria mas. Asi lo puse:

    #define YYSTYPE double
    Saludos!
    Intel i5 3570K@CM212+ | Gigabyte GA Z77X-UD3H | 2x4GB DDR3 1600MHz GSKill Sniper | Sapphire 7950 3GB GDDR5 Vapor-X | Crucial M4 128 GB & WD Black 3 TB | LG IPS236VX | CM 690 II | CM Silent PRO M700 | ASUS Xonar DX | Xbox360 Pad | Logitech G110 | Sony Muteki HT-DDW5500 |
    Samsung Galaxy SIV 16@32GB

Discusión cerrada
Ir a 12 ÚltimaÚltima