- Una herramienta para quienes quieren iniciar un nuevo proyecto de lenguaje de programación
- Permite desarrollar extensiones de lenguaje para editores de código, compiladores e intérpretes de lenguajes de programación, e incluso nuevos editores de código
Funciones principales
- Generador de analizadores sintácticos con macros: el léxico y la gramática sintáctica del lenguaje se especifican usando macros derivadas para tipos
enum, y las variantes del enum representan tokens individuales y nodos con reglas de análisis sintáctico propias
- Analizador sintáctico manual: la API permite desarrollar analizadores descendentes recursivos escritos a mano con lookahead ilimitado e integrarlos sin problemas con analizadores generados por macros
- Tolerancia a errores: el analizador resultante es resistente a errores y puede construir árboles sintácticos a partir de código fuente incompleto
- Framework de análisis semántico: incluye un analizador semántico integrado que gestiona cálculos arbitrarios bajo demanda sobre el árbol sintáctico en términos de atributos de referencia
- Compilación incremental: parchea continuamente en memoria la representación estructural de la base de código en respuesta a ediciones incrementales del texto del archivo del usuario final. El procesamiento de cambios es rápido incluso en bases de código grandes
- Cálculo en paralelo: diseñado específicamente tanto para programas multihilo como de un solo hilo
- Compatibilidad con WebAssembly: compatible con targets wasm y especialmente con entornos de navegador
- Formateador de código fuente: incluye herramientas para desarrollar programas formateadores de código que tienen en cuenta comentarios y líneas en blanco
- Fragmentos de código anotados: proporciona una API para imprimir fragmentos de código fuente con resaltado de sintaxis y anotaciones para mostrar errores sintácticos y semánticos de la base de código en la terminal
- API autosuficiente: proporciona una API autosuficiente, extensible y altamente configurable para desarrollar la parte frontend de compiladores de lenguajes de programación y extensiones de lenguaje para editores de código. No tiene dependencias de terceros aparte de la biblioteca estándar de Rust y el crate de macros
1 comentarios
Deirdre (irlandés: Deirdre [ˈdʲɛɾˠdʲɾʲə]) es la heroína trágica más conocida de la mitología irlandesa. Su historia forma parte del ciclo del Úlster.