15 个仓库
Tools that convert source code into structured representations to analyze patterns, constraints, or logic.
Distinct from Source Code Analysis: Shortlist candidates focus on vulnerability scanning, educational exercises, or web code, rather than general language syntax analysis.
Explore 15 awesome GitHub repositories matching programming languages & runtimes · Source Code Analysis Tools. Refine with filters or upvote what's useful.
Semantic 是一个基于 Haskell 的库和命令行工具,专为多语言源代码分析而设计。它作为一个静态程序分析框架和多语言抽象语法树解析器,能够根据语法定义将多种编程语言转换为结构化的语法树。 该系统通过一个语义代码比较引擎脱颖而出,该引擎检测代码版本之间的结构和意义变化,而不是依赖文本差异。它进一步通过将表面语言转换为统一的多语言中间表示,实现了跨不同编程语法的分析。 该框架为解析 Rust、Go、Python、Ruby、PHP、TypeScript 和 TSX 等语言提供了广泛的功能。它涵盖了通过代码作用域映射、符号提取和语义图生成的语义分析,以及用于模式分析和程序行为评估的工具。 该工具集还包括用于标准化 Haskell 源代码文件布局的命令行实用程序。
Parses multiple programming languages into a unified format to analyze semantics and behavior across different files.
This project is a static code analysis tool that functions as a code unit resolver and source code line mapper. It identifies the specific function or method that contains a given line of code by analyzing the structure of source files without executing the program. The utility maps line numbers to their parent code units by examining the organization of source files and identifying the ownership of specific lines. It determines the boundaries of functions and methods through text-based structural parsing and range detection. These capabilities support source code analysis and static analysi
Analyzes the structure of source files to identify which function or method contains a specific line of code.
该项目是一个讽刺性的编程指南和代码质量戏仿作品,作为软件反模式的目录。它提供了一系列故意编写的糟糕编码原则,旨在展示与整洁代码和行业最佳实践相反的内容。 通过实施一系列有缺陷的设计选择和糟糕的编码习惯,该项目识别了软件架构中的常见错误。它使用这些讽刺性的示例来突出导致维护问题和系统不稳定的技术债务和脆弱的代码结构。 该项目涵盖了包括代码质量分析和软件架构教育在内的领域,将讽刺原则映射到现实世界的架构缺陷中。
Includes methods for scanning source code to detect structural flaws aligned with poor design signatures.
danger-js 是一个自动化代码审查工具和 CI 流水线插件,充当拉取请求(PR)检查器。它通过直接在版本控制界面发布自动化反馈和评论,来验证提交信息、跟踪依赖变更并确保拉取请求符合项目标准。 该系统与 GitHub、GitLab 和 BitBucket 等多种 Git 提供商集成,以检索拉取请求元数据并执行自定义审查规则。它允许团队将审查规范打包并分发为可共享的模块,并支持通过运行时配置执行以转译语言编写的规则。 该项目涵盖了广泛的自动化功能,包括代码质量治理、依赖管理审计以及拉取请求礼仪的强制执行。它可以解析来自外部检查器、测试运行器和覆盖率工具的结果,以报告失败、监控包大小并检测代码库中的反模式或违禁词。 该工具可作为持续集成流水线中的构建步骤执行,或通过 git-hooks 在本地运行。
Scans code changes for problematic patterns or structural flaws and triggers warnings.
这是一个关于使用 PyTorch 构建神经网络的综合教学资源和课程。它涵盖了深度学习的基本构建块,包括张量操作、自动微分以及模块化神经网络组件的构建。 该仓库是多个专业领域的参考指南。它提供了计算机视觉任务(如图像分类、目标检测和语义分割)的实现细节,以及涉及 Transformer、循环网络和生成模型的自然语言处理工作流。此外,它还包括生成式 AI 的参考资料,专门关注通过扩散模型和对抗网络进行图像合成。 材料延伸至模型优化和部署流水线。它涵盖了通过量化和将模型导出为 ONNX 和 TensorRT 等格式来减小模型大小并提高推理速度的技术。其他能力领域包括用于并行加载的数据工程、使用自定义指标的模型评估,以及开源大语言模型的部署。 该项目主要以一系列 Jupyter Notebook 的形式提供。
Uses large language models to analyze source code for the purpose of creating performance optimization tools.
phpDocumentor 是一个 PHP API 文档生成器和源代码分析器,将 PHP 文件和 DocBlocks 转换为结构化的 HTML API 参考。它作为一个静态站点生成器和自动化文档工具,旨在使技术文档与代码变更保持同步。 该项目的独特之处在于它充当 UML 图生成器,基于源代码分析通过 PlantUML 生成类图和架构图。它还支持技术手册编写,在自动生成的 API 参考旁边渲染手写的 Markdown 和 ReStructuredText 指南。 该工具提供了广泛的源代码分析能力,包括抽象语法树的生成、元数据标记以及文档继承的管理。它包括用于代码架构、元素可见性控制和版本化文档管理的可视化工具。 构建可以通过 XML 配置文件进行管理,以在持续集成管道中实现自动化生成。
Analyzes source code files to transform them into structured intermediate representations for processing.
Appledoc 是一个 Objective-C 文档生成器和静态网站生成器,可解析源代码注释以创建结构化的 HTML 文档集。其主要目的是生成符合官方 Apple 风格文档的专业开发者参考指南。 该工具通过自动化的构建阶段脚本直接集成到项目编译过程中,确保技术指南随代码变更而更新。它通过外部 HTML 和 CSS 模板以及用于管理全局设置和动态运行时路径解析的属性列表配置系统,提供了广泛的定制能力。 该项目涵盖了广泛的功能,包括用于提取 API 成员签名并将方法组织成结构化部分的源代码分析。它具有类和协议之间的自动交叉引用、将外部静态内容或 Markdown 导入主索引的能力,以及专门为集成开发环境生成索引文档集的功能。 该系统还包括用于通过归档文件发布文档版本和更新 Atom 订阅源的实用程序,以及用于验证配置设置最终解析状态的调试工具。
Parses specially formatted comments and method signatures in source code to automatically create structured API references.
Oclint is a static analysis engine and extensible linting framework designed for C, C++, and Objective-C source code. It functions as a code quality tool that identifies bugs, code smells, and structural complexities by parsing source code into abstract syntax trees to perform semantic inspection. The project is distinguished by its modular architecture, which supports dynamic plugin loading for custom inspection rules and a pluggable reporter system for exporting analysis findings in multiple formats. It replicates build configurations by reading compiler flags and include paths to ensure th
Inspects source code to identify potential bugs, code smells, and structural complexities.
react-docgen is a static analysis library and automated documentation tool designed to extract structured metadata from React component definitions. It functions as an AST-based code parser that transforms source code into machine-readable formats, enabling the programmatic generation of technical documentation and developer portals. The tool identifies component names, descriptions, and methods by analyzing source code without executing it. It specifically extracts detailed property information, including type definitions, default values, and human-readable descriptions derived from docblock
Analyzes source code to create structured representations of component states using static analysis.
swift-syntax is a library for parsing, manipulating, and generating Swift source code. It provides a source-accurate abstract syntax tree representation of Swift code, acting as a parser, transformer, and code generator. The project serves as the infrastructure for Swift macro development, enabling the expansion and transformation of source code during compilation. It is used to build compiler tooling for static analysis, formatting, and automated refactoring. The system covers a broad range of source analysis capabilities, including the ability to convert source code into structured trees f
Provides a comprehensive parser to convert Swift source code into structured trees for programmatic analysis.
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
Converts source code into structured representations to collect metadata across all source files for targeted changes.
syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca
Converts Rust tokens into searchable tree representations to analyze code patterns and enforce architectural constraints.
nvim-treesitter-context is a Neovim editor extension that provides structural awareness of source files by displaying sticky headers of surrounding code blocks. It utilizes Tree-sitter queries to identify parent functions and classes, keeping them visible at the top of the editor window while scrolling. The tool allows for language rule customization, enabling the definition of specific structural queries to modify how context is detected for different programming languages. Users can also adjust the visual appearance of the context window through custom highlight groups. Beyond visual orien
Analyzes the source code structure to enable jumping between a line of code and its parent definition.
该项目作为在 Unity 引擎中使用 C# 实现既定软件设计模式的综合库和架构指南。它提供了一种组织游戏逻辑的结构化方法,专注于通过经过验证的结构化解决方案提高代码的可维护性、可扩展性和长期项目健康度。 该集合通过提供解耦游戏系统(如事件分发和请求处理)的架构模式的实际实现而脱颖而出,同时提供识别和纠正常见编码反模式的工具。它进一步通过提供通过状态机管理复杂实体行为以及通过内存池和数据同步技术优化系统资源的策略,解决了技术挑战。 除了其核心架构模式外,该仓库还涵盖了广泛的能力,包括用于安全用户修改的沙箱脚本执行,以及在基于帧的更新中保持一致状态的方法。该资源旨在通过用模块化的组件组合替换无效实践来协助开发者优化其代码库。
Provides tools to identify and rectify common coding anti-patterns to improve overall codebase quality.
This project is a backend service that implements the Language Server Protocol to provide IDE-integrated intelligence for PHP development. It functions as a static analysis tool that parses source code to enable advanced editor features, including autocompletion, symbol navigation, and definition resolution. The server distinguishes itself through its ability to operate within isolated containers and remote development environments. By utilizing a virtual file system abstraction and flexible communication protocols, it maintains project-wide symbol indexing and code analysis even when files a
Analyzes source code to power essential IDE features like jump-to-definition and symbol navigation.