3 repositorios
Intermediate representations where each variable is assigned exactly once to simplify data flow analysis.
Distinct from Intermediate Representations: Specializes general intermediate representations into the specific Static Single Assignment (SSA) form.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · Static Single Assignment Forms. Refine with filters or upvote what's useful.
go-ast-book es una colección de recursos técnicos y educativos centrados en el análisis de árboles de sintaxis abstracta (AST), desarrollo de compiladores y verificación estática de código. Proporciona guías y manuales para analizar, recorrer y examinar código fuente en Go con el fin de extraer su significado semántico. El proyecto sirve como referencia para construir frontends de compiladores, cubriendo la traducción de código de alto nivel a representaciones intermedias y formas de asignación estática única (SSA). También proporciona instrucciones para utilizar estas técnicas en el desarrollo de herramientas de lenguaje y análisis estático de código. Los recursos cubren una amplia gama de capacidades de análisis estático, incluyendo tokenización léxica, análisis estructural de expresiones y declaraciones, y seguimiento de coordenadas para archivos fuente. También detalla procesos de análisis semántico como la resolución de identificadores, verificación de corrección de tipos y análisis de flujo de control para concurrencia y ejecución diferida.
Details the transformation of high-level syntax trees into single static assignment form for optimized execution.
LLVM es una infraestructura de compilación modular y un framework compuesto por una colección de librerías reutilizables para construir front-ends de lenguajes y herramientas de optimización. Funciona como una máquina virtual de bajo nivel que proporciona una representación intermedia y un pipeline de optimización para permitir la generación de código agnóstica al lenguaje. El proyecto ofrece un kit de herramientas para compilación just-in-time, traduciendo representaciones intermedias a código máquina en tiempo de ejecución. Su diseño modular permite a los desarrolladores crear front-ends personalizados y entornos de ejecución de alto rendimiento para múltiples arquitecturas. La infraestructura abarca la optimización de código de alto rendimiento y la coordinación de toolchains multiplataforma, incluyendo la integración de compiladores, runtimes y depuradores.
Implements an intermediate representation using static single assignment form to simplify data flow analysis and optimization.
SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory
Annotates indirect memory accesses with explicit definition and use functions to convert address-taken variables into static single assignment form.