¡Ratas!

RATS! es un generador de analizador fácilmente extensible para idiomas similares a C.
Descargar ahora

¡Ratas! Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • LGPL
  • Precio:
  • FREE
  • Nombre del editor:
  • Robert Grimm
  • Sitio web del editor:
  • http://www.cs.nyu.edu/rgrimm/xtc/rats.html

¡Ratas! Etiquetas


¡Ratas! Descripción

¡Ratas! es un generador de analizador fácilmente extensible para idiomas similares a C. ¡Ratas! es un generador de analizador fácilmente extensible para idiomas similares a C; Aunque actualmente solo genera parsers en Java. ¡Ratas! El proyecto se ha diseñado explícitamente para que las gramáticas sean concisas y fácilmente modificables. Para este fin, ratas!? Organiza gramáticas en módulos? se basa en las gramáticas de expresión de análisis en lugar de gramáticas libres de contexto y vindegrates lexing con análisis, es decir, es sin escáner? Soporta la generación automática de árboles de sintaxis abstracta? y proporciona una interfaz bien definida para extender los analizadores para reconocer los idiomas y formatos sensibles al contexto. ¡Parsers generados por ratas! Memoice los resultados intermedios, lo que garantiza un rendimiento de tiempo lineal en presencia de una mirada ilimitada y retroceso. Como resultado, son esencialmente funcionales (aunque se implementan en un lenguaje imperativo) y también se llaman "analizadores de PackRat". ¡Aquí hay algunas características clave de "ratas!": · Ratas! Se basa en un sistema de módulos para estructurar gramáticas y sus extensiones. En particular, se basa en módulos para agrupar producciones relacionadas en unidades separadas. A continuación, las modificaciones del módulo expresan concisamente extensiones a otros módulos y pueden agregar, cambiar o eliminar alternativas individuales en producciones. Finalmente, los parámetros del módulo se utilizan para componer módulos y sus extensiones entre sí. · ¡Ratas! Las gramáticas se basan en las gramáticas de expresión de análisis (PEGS). Mientras que las PEGS comparten muchas construcciones con la notación familiar de EBNF, una diferencia clave es que utilizan elecciones ordenadas en lugar de las opciones desordenadas utilizadas por gramáticas libres de contexto (CFGS) y otros generadores de analistas, como YACC o ANTLR. Como resultado, ratas! Las gramáticas evitan las ambigüedades y apoyan los cambios localizados. Se ofrece flexibilidad adicional a través de predicados sintácticos, que coinciden con las expresiones, pero no consumen la entrada, lo que proporciona una mirada ilimitada, y a través de la integración de lexing con análisis, lo que simplifica enormemente la adición de nuevos tokens a una gramática. Las clavijas tienen el beneficio adicional que no solo están cerradas en composición (a diferencia de las gramáticas LR o LL utilizadas por YACC y ANTLR), sino también la intersección y el complemento (a diferencia de los CFG en general). · ¡Para eliminar la necesidad de acciones semánticas explícitas, ratas! Puede generar automáticamente los árboles de sintaxis abstracta. En particular, apoya las producciones que no devuelven valores semánticos (como los que reconocen espacios o comentarios), los valores de cadena (como los que reconocen los literales o los identificadores), y los nodos de árboles genéricos (potencialmente todas las demás producciones). · Dado que algunos formatos legibles por computadora son inherentemente sensibles al contexto y no se pueden expresar como PEGS (o CFGS), RATS! Admite dos técnicas para administrar el contexto o el estado del analizador, proporcionando así una interfaz bien definida para extender los analizadores. Primero, ratas! Proporciona acciones de analizador para reconocer expresiones que dependen del contexto local, es decir, expresiones que dependen de expresiones inmediatamente anteriores dentro de la misma producción. Un ejemplo para dicho contexto local es una longitud explícita que precede a tantos instancias de alguna expresión. Segundo, ratas! Apoya a un objeto de estado global para reconocer expresiones que dependen de un contexto posiblemente global. Las modificaciones del estado se realizan dentro de las transacciones livianas, que preservan la naturaleza básicamente funcional de las ratas! Un ejemplo para un contexto global es la tabla de símbolos utilizada para desambiando los nombres de variable y Typedef al analizar C. ¿Qué hay de nuevo en este lanzamiento: · Esta versión mejora los informes de errores por analizadores generados y soluciona un error de generación de código.


¡Ratas! Software relacionado

Machacar

Un marco simple y ligero para construir proyectos de multiplataforma C, basados puramente en la concha de Bourne y la GNU. ...

176

Descargar

cproto

CPROTO Genera prototipos de funciones para funciones definidas en los archivos de origen C especificados a la salida estándar. ...

154

Descargar

Enchufe

Redet es una herramienta para desarrollar y ejecutar expresiones regulares. ...

199

Descargar