8 repositorios
Tools that list symbols, find definitions and references, and retrieve diagnostics via semantic analysis of source code.
Distinct from Code Analysis and Linting: Distinct from Code Analysis and Linting: focuses on semantic symbol resolution and reference tracking, not general static analysis or linting.
Explore 8 awesome GitHub repositories matching part of an awesome list · Semantic Code Analyzers. Refine with filters or upvote what's useful.
Semantic es una librería basada en Haskell y una herramienta de línea de comandos diseñada para el análisis de código fuente políglota. Funciona como un framework de análisis estático de programas y un analizador de árboles de sintaxis abstracta políglota que convierte múltiples lenguajes de programación en árboles de sintaxis estructurados basados en definiciones gramaticales. El sistema se distingue por un motor de comparación semántica de código que detecta cambios estructurales y significativos entre versiones de código en lugar de depender de diferencias textuales. Además, permite el análisis entre diferentes sintaxis de programación traduciendo lenguajes de superficie a una representación intermedia políglota unificada. El framework proporciona un amplio conjunto de capacidades para analizar lenguajes como Rust, Go, Python, Ruby, PHP, TypeScript y TSX. Cubre el análisis semántico mediante el mapeo del alcance del código, la extracción de símbolos y la generación de grafos semánticos, junto con herramientas para el análisis de patrones y la evaluación del comportamiento del programa. El conjunto de herramientas incluye utilidades de línea de comandos para estandarizar el diseño de archivos fuente de Haskell.
Implements semantic analysis to produce graphs and scope information by examining relationships and meanings within source code.
PraisonAI is an autonomous AI agent platform that coordinates multiple LLM-powered agents for research, planning, and execution of complex workflows. It functions as a multi-agent orchestration framework, a workflow builder, and a Model Context Protocol server, while also providing retrieval-augmented generation through vector knowledge bases. Agents can interact via CLI, web, or standardized protocols with sandboxed code execution. The platform distinguishes itself with a rich set of agent communication protocols, including A2A, REST, WebSocket, voice and telephony integration, and MCP, allo
Provides a tool that performs semantic code analysis to list symbols, find definitions, and retrieve diagnostics.
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.
Utilizes semantic analysis to identify logical errors and verify code correctness beyond basic syntax.
lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics. The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers. The system covers a broad range of developmen
Facilitates semantic analysis of source code to resolve symbols, find references, and apply real-time linting.
lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto
Provides real-time diagnostics and error detection through semantic analysis of the Lua source code.
Tern es un analizador de código independiente del editor y un motor de análisis estático para JavaScript. Funciona como un servidor de lenguaje que proporciona inteligencia semántica analizando el código fuente en árboles de sintaxis abstractos para inferir tipos y resolver símbolos sin requerir anotaciones de tipo manuales. El motor se distingue por el uso de definiciones de tipo basadas en JSON, que le permiten describir firmas de bibliotecas y dependencias externas sin necesidad del código fuente original. También cuenta con un sistema de plugins que permite la extensión de la funcionalidad del servidor para admitir cargadores o frameworks personalizados. El proyecto cubre amplias áreas de capacidad, incluyendo navegación de código, refactorización y autocompletado de editor. Proporciona servicios como la localización de definiciones de símbolos, la búsqueda de referencias de código y la oferta de sugerencias y completados de argumentos de funciones basados en tipos de expresión inferidos.
Performs semantic analysis to resolve symbols and find definitions and references within JavaScript code.
OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework
Implements semantic analysis to identify symbols, definitions, and data flows for precise refactoring target identification.
Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi
Performs semantic analysis to provide symbol definitions, references, and precise syntax highlighting.