Articulo de referencia

Limón (generador de analizador)

Lemon es un generador de analizadores sintácticos , mantenido como parte del proyecto SQLite , que genera un analizador LR de anticipación ( analizador LALR ) en el lenguaje de ...

Lemon es un generador de analizadores sintácticos , mantenido como parte del proyecto SQLite , que genera un analizador LR de anticipación ( analizador LALR ) en el lenguaje de programación C a partir de una gramática de entrada libre de contexto . El generador es bastante simple, implementado en un archivo fuente C con otro archivo utilizado como plantilla para la salida. El análisis léxico se realiza externamente.

Lemon es similar a los programas Bison y Yacc , pero es incompatible con ambos. El formato de entrada de la gramática es diferente, para ayudar a prevenir errores de codificación comunes. Otras características distintivas incluyen un analizador de salida reentrante y seguro para subprocesos , y el concepto de destructores no terminales que intentan facilitar la prevención de fugas de memoria .

SQLite usa Lemon con un tokenizador codificado manualmente para analizar cadenas SQL .

Lemon, junto con re2c y un contenedor de re2c llamado Perplex, se utilizan [1] [2] [3] en BRL-CAD como alternativas independientes de la plataforma y fácilmente compilables a Flex y Bison. Esta combinación también se utiliza con STEPcode. [4]

La evaluación de expresiones de OpenFOAM [5] utiliza una combinación de ragel y una versión de lemon que ha sido mínimamente modificada [6] para facilitar la integración de C++ sin afectar la integración de C. [7] Las gramáticas del analizador se amplían con macros m4 .

Notas

  1. ^ Brlcad; Carlmoore; Starseeker (30 de noviembre de 2017). "BRL-CAD: El generador de analizadores Lemon". SourceForge . Slashdot Media . Consultado el 21 de septiembre de 2019 .
  2. ^ Bumbulis, Peter (23 de agosto de 2011). "Léame". SourceForge . Slashdot Media . Consultado el 21 de septiembre de 2019 .
  3. ^ Börger, Marcus (24 de junio de 2014). "Léame". FuenteForge . Medios de barra diagonal . Consultado el 21 de septiembre de 2019 .
  4. ^ "Léame". STEPcode . GitHub. 2015. Archivado desde el original el 10 de abril de 2018 . Consultado el 21 de septiembre de 2019 .{{cite web}}: CS1 maint: URL no apta ( enlace )
  5. ^ "Nueva sintaxis de expresiones". OpenFOAM . OpenCFD. 2019-12-23 . Consultado el 2020-01-13 .
  6. ^ "fuentes de wmake". OpenFOAM . OpenCFD. 2019-09-27 . Consultado el 2020-01-13 .
  7. ^ "README". OpenFOAM . OpenCFD. 2019-09-27 . Consultado el 2020-01-13 .

Referencias

  • "El generador de análisis sintáctico Lemon" . Consultado el 21 de mayo de 2020 .
  • "Arquitectura de SQLite". 2008-11-01 . Consultado el 2020-05-21 .
  • Sitio web oficial
  • Ejemplo de calculadora con Lemon y Lex en C++
  • Entendiendo el analizador generado por Lemon
  • Limón, combinado con Re2c y Perplex
  • Lemon Grove: Lemon junto con proyectos hermanos, bifurcaciones y activos
Obtenido de "https://es.wikipedia.org/w/index.php?title=Lemon_(generador_de_analizador_sintáctico)&oldid=1196917402"