2 repositorios
Modifications made specifically to concrete syntax trees to preserve exact source fidelity during code rewriting.
Distinct from Syntax Tree Transformers: Distinct from general Syntax Tree Transformers by focusing on the preservation of exact source syntax (concrete trees) rather than simplified abstract structures.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Concrete Syntax Tree Transformations. Refine with filters or upvote what's useful.
YAPF es un formateador de código de Python y una herramienta de cumplimiento de estilo. Opera como un reformateador basado en AST que utiliza árboles de sintaxis concretos para garantizar la consistencia estructural y una presentación visual uniforme en todos los archivos fuente. El motor utiliza un optimizador de diseño basado en penalizaciones para determinar los mejores saltos de línea calculando costos numéricos para diferentes opciones de formato. Emplea un procesador de código multiproceso para distribuir el formato de múltiples archivos a través de varios núcleos de CPU. La herramienta cubre el reformateo del código fuente a través de modificaciones de archivos in-place, análisis de diferencias y el procesamiento de fragmentos de código parciales. Incluye un sistema de configuración basado en reglas para gestionar preajustes de estilo, reglas de diseño y configuraciones a nivel de proyecto. Las capacidades de integración incluyen la verificación del cumplimiento de estilo para pipelines de integración continua, automatización de git hooks y funcionalidad de formato al guardar basada en el editor.
Reconstructs source code by modifying concrete syntax tree representations while preserving the original structural integrity.
pyupgrade es un modernizador de código estático y actualizador de sintaxis para Python. Reescribe automáticamente el código fuente para implementar características modernas del lenguaje y sintaxis basada en una versión objetivo especificada. La herramienta se centra en eliminar la deuda técnica eliminando importaciones obsoletas, parches de compatibilidad y bloques condicionales obsoletos específicos de versiones. También refactoriza las anotaciones de tipo para utilizar estándares actuales, como alias genéricos simplificados y operadores de unión. Su superficie de capacidades incluye la actualización del uso de la librería estándar, la optimización de llamadas a funciones integradas y la conversión de constructores de colecciones verbosos o formateo de cadenas en equivalentes modernos concisos. Estas transformaciones se realizan mediante un motor de reglas versionado que preserva el formato y los comentarios originales.
Implements transformations on concrete syntax trees to ensure that original source formatting and comments are preserved during rewriting.