67 repository-uri
Techniques for parsing and comparing code based on abstract syntax trees.
Distinguishing note: Focuses on the internal graph-based calculation of syntax differences.
Explore 67 awesome GitHub repositories matching software engineering & architecture · Syntax Tree Analysis. Refine with filters or upvote what's useful.
Calculates optimal differences between syntax trees by modeling comparisons as graph search problems.
This project is an instructional user guide and software development workflow tutorial designed to help users master a professional integrated development environment. It provides educational content and step-by-step instructions for optimizing coding productivity and navigating development tools across various language versions. The material specifically covers the configuration of Java-centric environments, including setting up the operating system, managing dependencies, and tuning memory settings. It offers detailed guidance on utilizing professional tools to streamline development proces
Provides instructions on using AST-based analysis for safe code restructuring and variable renaming.
The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models. The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback dur
Visualizes hierarchical code structures to allow bidirectional navigation between the code editor and the syntax tree.
SwiftLint is a static analysis tool and code formatter designed to enforce consistent coding styles and identify semantic issues within Swift source code. It functions as a command-line utility that evaluates code against established conventions to ensure uniform structure and architectural standards across a project. The tool distinguishes itself through a custom linting engine that leverages compiler-integrated syntax analysis to perform deep inspections of code structure. Beyond simple pattern matching, it supports automated source code transformation to correct formatting violations and r
Leverages compiler-integrated syntax trees to perform deep inspection of code structure and semantic correctness.
SWE-agent is an autonomous software engineering platform designed to automate repository maintenance and issue resolution. By orchestrating language models to navigate codebases, diagnose software bugs, and apply fixes, the framework functions as an autonomous agent capable of executing shell commands, editing source code, and managing pull requests within isolated, containerized environments. The platform distinguishes itself through its focus on end-to-end task autonomy and observability. It features a robust trajectory logging system that records every thought, action, and environment obse
Prevents code edits from being applied if they contain syntax errors by running a linter.
MJML is a responsive email framework and HTML email compiler that translates simplified semantic markup into complex HTML. It functions as an email template engine designed to produce layouts that render consistently across a wide range of email clients. The system provides a markup validation tool to check structural integrity and syntax before compilation. It also includes a version migration utility to upgrade older template files to newer language versions while preserving content and layout structure. The toolset covers several capability areas, including command-line markup compilation
Validates the structural integrity and syntax of markup files before they are compiled to HTML.
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Facilitates the development of compile-time transformations by allowing inspection of internal code representations.
AssemblyScript is a compiler and tooling suite used for WebAssembly module development. It converts a subset of TypeScript syntax into binary modules to achieve high execution speeds and cross-platform binary execution. The project focuses on translating typed source code into the compact binary format required by WebAssembly runtimes. This allows for the movement of computationally heavy logic into binary modules for browser performance optimization and execution across different operating systems. The compilation process involves TypeScript-compatible syntax analysis and the generation of
Parses a subset of TypeScript syntax into an abstract syntax tree for transformation into low-level instructions.
This project is a web-based collaborative editor and scientific document management system designed for LaTeX. It provides a centralized environment for writing, editing, and compiling academic manuscripts, enabling multiple users to work on the same project simultaneously through real-time synchronization. The platform distinguishes itself by treating documents as version-controlled repositories, allowing for granular history tracking and bidirectional synchronization with external version control systems. It features a secure, containerized compilation pipeline that isolates build processes
Validates document syntax in real-time to detect structural errors like mismatched delimiters.
GraphiQL is an interactive browser-based integrated development environment for writing, testing, and documenting GraphQL queries and mutations. It functions as a code editor, an API exploration tool, and a schema explorer, providing a visual interface for browsing GraphQL types and fields. The project provides a language server that delivers schema-driven autocompletion, linting, and validation via the Language Server Protocol. It allows for the embedding of high-performance editors into external projects and supports the injection of custom tools and components through a sidebar plugin API.
Identifies syntax errors and linting violations in GraphQL documents to provide immediate feedback.
Rust-analyzer is a language server implementation that provides real-time code intelligence, static analysis, and development productivity tools for the Rust programming language. It functions as a backend engine that communicates with text editors to deliver deep structural understanding of source code, enabling features like semantic analysis, symbol navigation, and automated refactoring. The project distinguishes itself through a core engine designed for high-performance responsiveness, utilizing incremental query-based compilation and lazy demand-driven evaluation to minimize resource con
Visualizes internal project structures like dependency graphs and syntax trees for debugging and analysis.
Grav is a flat-file content management system that eliminates the need for a traditional database by storing site content and configuration in human-readable Markdown and YAML files. Built as a modular PHP web framework, it uses a hierarchical page routing system where the physical directory structure directly determines the site's URL paths. The platform is distinguished by its event-driven plugin architecture and a command-line interface that prioritizes system administration, deployment, and maintenance tasks. It utilizes a blueprint-driven system to generate administrative forms from stru
Scans configuration and content files for syntax errors to ensure compliance and system performance.
TextMate is a programmable text editor designed for software development and project management. It functions as a highly customizable environment where users can define language-specific behaviors, syntax highlighting rules, and automated workflows to suit their individual development needs. The editor distinguishes itself through a modular, bundle-based extensibility model that allows for deep integration with system shell commands. By piping document buffers through external scripts and command-line tools, users can perform complex text transformations, automate file lifecycle tasks, and b
Validates code syntax against language-specific rules to identify structural errors.
Ale is a Neovim LSP client and asynchronous linter wrapper designed to integrate language servers and syntax checkers into the editor. It provides infrastructure for background syntax validation and automated code fixing without blocking the editor interface. The project implements the Language Server Protocol to enable advanced semantic navigation, including symbol renaming, definition jumping, and the application of automatic refactoring changes. It functions as an automatic code fixer that applies formatting and repairs based on feedback from linting tools and language servers. The plugin
Identifies code errors through background syntax validation using linters and language server tools.
This project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It serves as a framework for structural code navigation, context-aware syntax highlighting, and the management of language-specific parsers. The system distinguishes itself through a multi-language injection handler that identifies and parses embedded languages within a single document. It uses a dedicated parser manager to install, update, and remove grammar definitions and their associated query files. The tool covers several capability areas including incremental text selection,
Analyzes code syntax by mapping syntax tree nodes to semantic categories to enable precise highlighting and structural analysis.
This project is a compiler development tutorial that provides a series of guides and exercises for building a complete compiler from scratch. It focuses on the implementation of a structured compilation pipeline to transform high-level source code into executable machine instructions. The project covers the creation of a machine code generator for specific processor architectures and a static analysis framework. This framework includes methodologies for implementing type checking and constant folding to verify logic correctness before the final execution phase. The instructional material enc
Develops language syntax parsers to transform source code into abstract syntax trees.
This project is a collection of Swift coding standards and static analysis rules designed to ensure consistency across Swift projects. It provides a defined set of naming conventions and structural guidelines to maintain a shared style for teams. The repository centers on a SwiftLint configuration used to automate the detection and correction of style violations in source code. This configuration enables automated style enforcement, ensuring that code adheres to organizational standards without requiring manual review. The guidelines cover the standardization of code formatting, naming, and
Uses static analysis to verify consistent indentation and brace placement across the codebase.
RuboCop is a static code analyzer, linter, and formatter for the Ruby language. It detects style violations, potential bugs, and code smells by scanning source code without executing the program. The tool enforces a predefined Ruby style guide by flagging deviations and automatically rewriting source code to ensure consistency across projects. It includes a language server that provides real-time analysis and formatting suggestions directly within text editors.
Implements syntax tree analysis to detect pattern violations based on predefined Ruby style rules.
ast-grep is a command-line utility and static analysis engine designed for searching, linting, and refactoring source code. It operates by identifying and transforming code blocks based on their underlying syntactic structure rather than relying on text-based or regular expression matching. The tool utilizes a language-agnostic abstraction to normalize diverse programming grammars into a unified tree structure. By employing a rule-driven engine, it allows users to define complex patterns that capture syntax nodes as variables, enabling consistent and syntactically valid modifications across e
Updates only modified portions of the syntax tree during editing to minimize computational overhead when processing massive codebases.
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Verifies code syntax to ensure compatibility with automated optimization and build tools.