awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Back to apple/swift-syntax

Open-source alternatives to Swift Syntax

30 open-source projects similar to apple/swift-syntax, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Swift Syntax alternative.

  • nikic/php-parsernikic avatar

    nikic/PHP-Parser

    17,437View on GitHub↗

    PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic manipulation. It functions as a parser, a code generator, and a static analysis framework. The project enables the programmatic construction of abstract syntax tree nodes through a fluent interface and provides the ability to transform these trees back into formatted source code. It includes a serializer that exports abstract syntax trees to JSON format and reconstructs them from strings. The toolset covers several capability areas, including namespace resolution, constant exp

    PHP
    View on GitHub↗17,437
  • dtolnay/syndtolnay avatar

    dtolnay/syn

    3,292View on GitHub↗

    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

    Rustproc-macro
    View on GitHub↗3,292
  • google/google-java-formatgoogle avatar

    google/google-java-format

    6,145View on GitHub↗

    google-java-format is a Java code formatter and style enforcement tool. It reformats Java source code to adhere to a standardized style guide, ensuring consistent layout and indentation across entire projects or individual files. The project functions as a build pipeline linting tool for continuous integration workflows and as an IDE formatting plugin to replace native editor formatting. It can be embedded as a formatting library within code generation software to ensure machine-written output remains human-readable. The tool provides capabilities for reorganizing source code indentation and

    Java
    View on GitHub↗6,145

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • square/javapoetsquare avatar

    square/javapoet

    10,850View on GitHub↗

    JavaPoet is a source code generator and metaprogramming utility for the Java language. It functions as an abstract syntax tree construction library that allows developers to model classes, methods, and fields as objects before emitting them as source code. The library distinguishes itself through automatic import management and code formatting. It tracks referenced types to generate required import statements and handles line wrapping, semicolon placement, and indentation to ensure generated files remain readable. The tool covers a broad range of generation capabilities, including the defini

    Java
    View on GitHub↗10,850
  • openrewrite/rewriteopenrewrite avatar

    openrewrite/rewrite

    3,312View on GitHub↗

    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

    Javaabstract-syntax-treeastcode-search
    View on GitHub↗3,312
  • square/kotlinpoetsquare avatar

    square/kotlinpoet

    4,141View on GitHub↗

    KotlinPoet is a Java-based API for programmatically creating and formatting Kotlin source files. It serves as a source code generator and type system mapper, providing a framework to build Kotlin code structures through a type-safe model of language elements to automate the production of boilerplate. The project utilizes a fluent-builder pattern to incrementally construct language elements and maintains an internal object-model representation that separates logical structure from final text formatting. It handles the complexities of source emission through indentation-based formatting and key

    Kotlincode-generationjavapoetkotlin
    View on GitHub↗4,141
  • javaparser/javaparserjavaparser avatar

    javaparser/javaparser

    6,053View on GitHub↗

    JavaParser is a library that parses Java source code up to version 12 into an Abstract Syntax Tree (AST), enabling programmatic analysis, transformation, and generation of Java code. It serves as a parser, code analyzer, code generator, comment parser, and symbol resolver, providing a unified toolkit for working with Java source at the AST level. The library distinguishes itself through several integrated capabilities that go beyond basic parsing. It includes a symbol resolution engine that resolves type and symbol references across files for accurate semantic analysis, and an error-recovery

    Javaabstract-syntax-treeastcode-analysis
    View on GitHub↗6,053
  • krzysztofzablocki/sourcerykrzysztofzablocki avatar

    krzysztofzablocki/Sourcery

    8,012View on GitHub↗

    Sourcery is a code generation tool for Swift that automates the production of repetitive boilerplate and protocol conformance. It functions as a template engine that scans source files to generate structural code, such as Codable, Equatable, and Hashable implementations, based on marker protocols and static analysis. The project provides a specialized mocking framework that creates mock objects for protocols to track function calls and capture arguments during testing. It also includes utilities for generating struct lenses, enum case collections, and precise property-level test diffs. The s

    Swift
    View on GitHub↗8,012
  • dullabs/bhai-langDulLabs avatar

    DulLabs/bhai-lang

    4,100View on GitHub↗

    Bhai-lang is a TypeScript-based toy programming language and custom syntax interpreter. It functions as an educational language implementation designed to demonstrate core concepts of variable management, conditional logic, and execution flow. The project provides a custom command line interface and an interactive code playground for writing and testing scripts. It serves as a framework for programming language prototyping, allowing for the definition of custom syntax and execution logic. The system covers the full interpreter pipeline, including lexical analysis, recursive descent parsing,

    TypeScriptinterpreterjavascriptparser
    View on GitHub↗4,100
  • acornjs/acornacornjs avatar

    acornjs/acorn

    11,402View on GitHub↗

    Acorn is a JavaScript parser that converts source text into a structured abstract syntax tree. It follows the ESTree specification to produce a standardized JSON tree format, enabling consistent analysis of code structure and language versions. The project features a plugin-based grammar extension system that allows the base parser to be extended with custom rules for experimental or non-standard language features. It also includes syntax error recovery, which inserts placeholder nodes into the tree when encountering invalid code to allow parsing to continue. The toolset covers static analys

    JavaScript
    View on GitHub↗11,402
  • lotabout/write-a-c-interpreterlotabout avatar

    lotabout/write-a-C-interpreter

    4,343View on GitHub↗

    This project is a C language interpreter and a practical implementation of a programming language. It parses and executes C source code directly, removing the requirement for a separate compilation step. The interpreter is designed for self-hosting, meaning it is capable of interpreting its own source code to demonstrate recursive language processing and execution. The system covers the primary stages of language processing, including lexical analysis, recursive descent parsing, and tree-walk interpretation using an abstract syntax tree. It manages memory and scope through a dynamic symbol t

    C
    View on GitHub↗4,343
  • rust-bakery/nomrust-bakery avatar

    rust-bakery/nom

    10,426View on GitHub↗

    nom is a parser combinator framework for Rust used to build complex parsers by combining small, reusable parsing functions. It functions as a zero-copy parsing tool that minimizes memory overhead by returning slices of the original input instead of allocating new memory. The framework is designed for diverse data formats, serving as a binary data parser with configurable endianness and a bitstream processing library capable of extracting values of arbitrary bit length. It also functions as a streaming data parser that can process data arriving in chunks and signal when additional input is req

    Rustbyte-arraygrammarnom
    View on GitHub↗10,426
  • jquery/esprimajquery avatar

    jquery/esprima

    7,139View on GitHub↗

    Esprima is a JavaScript parser that converts source code into a structured abstract syntax tree. It implements a specification-driven grammar to ensure compliance with ECMAScript standards, enabling the programmatic analysis and transformation of JavaScript programs. The project provides capabilities for lexical tokenization to break source code into individual symbols and static syntax validation to verify that scripts are well-formed without executing the code. Its functional surface covers JavaScript static analysis, lexical analysis, and the generation of abstract syntax trees.

    TypeScript
    View on GitHub↗7,139
  • doctrine/lexerdoctrine avatar

    doctrine/lexer

    11,156View on GitHub↗

    This project is a regular expression lexer library and lexical analysis engine used to break input strings into typed token streams. It serves as a foundational component for constructing compilers or interpreters by identifying and categorizing substrings into discrete tokens. The library provides a token stream navigator featuring a cursor-based interface. This allows for sequential traversal of tokenized input and non-destructive lookahead, enabling the inspection of future tokens without advancing the internal position pointer. It includes specific support for recursive descent parsing t

    PHP
    View on GitHub↗11,156
  • reactjs/react-docgenreactjs avatar

    reactjs/react-docgen

    3,822View on GitHub↗

    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

    TypeScriptdocgendocumentationjson
    View on GitHub↗3,822
  • tomaz/appledoctomaz avatar

    tomaz/appledoc

    4,189View on GitHub↗

    Appledoc is an Objective-C documentation generator and static site generator that parses source code comments to create structured HTML documentation sets. Its primary purpose is to generate professional developer reference guides that adhere to official Apple style documentation. The tool distinguishes itself by integrating directly into the project compilation process via automated build-phase scripts, ensuring that technical guides are updated as code changes. It provides extensive customization through external HTML and CSS templates, as well as a property list configuration system to man

    Objective-C
    View on GitHub↗4,189
  • apple/swift-openapi-generatorapple avatar

    apple/swift-openapi-generator

    1,935View on GitHub↗

    The Swift OpenAPI Generator is a build-time tool that produces type-safe Swift client and server code directly from OpenAPI specification documents. By integrating with build systems through native plugins, it automates the creation of strongly-typed interfaces and protocol stubs that map network operations to native methods, ensuring that application code remains strictly consistent with defined data schemas. The project distinguishes itself through a protocol-oriented architecture that decouples business logic from specific transport implementations. It utilizes a pluggable transport layer

    Swiftios-swiftopenapiplugin
    View on GitHub↗1,935
  • felixfbecker/php-language-serverfelixfbecker avatar

    felixfbecker/php-language-server

    1,193View on GitHub↗

    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

    PHPautocompletecode-analysiside
    View on GitHub↗1,193
  • phpdocumentor/phpdocumentorphpDocumentor avatar

    phpDocumentor/phpDocumentor

    4,332View on GitHub↗

    phpDocumentor is a PHP API documentation generator and source code analyzer that transforms PHP files and DocBlocks into structured HTML API references. It functions as a static site generator and an automatic documentation tool designed to synchronize technical documentation with code changes. The project distinguishes itself by acting as a UML diagram generator, producing class and architectural graphs via PlantUML based on source analysis. It also supports technical manual authoring, rendering hand-written guides in Markdown and ReStructuredText alongside the automatically generated API re

    PHPdocblockdocblocksgraphviz
    View on GitHub↗4,332
  • oclint/oclintoclint avatar

    oclint/oclint

    3,881View on GitHub↗

    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

    C++
    View on GitHub↗3,881
  • sebastianbergmann/code-unit-reverse-lookupsebastianbergmann avatar

    sebastianbergmann/code-unit-reverse-lookup

    6,690View on GitHub↗

    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

    PHP
    View on GitHub↗6,690
  • swiftgen/swiftgenSwiftGen avatar

    SwiftGen/SwiftGen

    9,545View on GitHub↗

    SwiftGen is a tool that creates strongly typed Swift references for assets, strings, and storyboards to eliminate manual string-based APIs. It functions as a code generator that maps localization keys, static assets, and data models into typed source code using a template-based engine. The project uses custom templates to define the exact structure and syntax of the generated code. This allows the generated output to match specific project conventions while providing a flexible system for mapping translation keys and converting local files, colors, and fonts into typed constants. The tool co

    Swift
    View on GitHub↗9,545
  • google/blocklygoogle avatar

    google/blockly

    13,436View on GitHub↗

    Blockly is a block-based coding library and visual programming editor that allows users to build programs by interlocking graphical blocks. It functions as a visual code generator, translating these arrangements of logic blocks and variables into executable source code for various programming languages. The library provides a framework for creating custom visual programming languages and low-code logic designers. It utilizes an SVG-based UI library to render interactive, draggable elements on a web canvas. The system is designed as an accessible web UI framework with integrated keyboard navi

    JavaScript
    View on GitHub↗13,436
  • benjamn/recastbenjamn avatar

    benjamn/recast

    5,246View on GitHub↗

    Recast is a JavaScript AST parser and printer designed for automated code refactoring. It converts source code into abstract syntax trees that can be modified and then printed back into source code. The project focuses on formatting-preserving transformations, storing original whitespace and indentation metadata within syntax tree nodes to reconstruct code without losing its original layout. It also generates character-level source maps to maintain precise correspondences between original input and transformed output. The toolkit includes utilities for syntax tree manipulation using a visito

    TypeScript
    View on GitHub↗5,246
  • rollup/pluginsrollup avatar

    rollup/plugins

    3,750View on GitHub↗

    This is a collection of official extensions for the Rollup bundling process. These plugins serve as module transformers, resolution managers, and bundle optimizers designed to modify how JavaScript modules are processed, resolved, and optimized. The suite provides specialized capabilities for modern web transpilation, converting TypeScript, JSX, Flow, and GraphQL into compatible JavaScript. It distinguishes itself through extensive non-JavaScript asset integration, allowing the import of JSON, YAML, CSV, and image files as JavaScript modules or data URIs, and providing support for bundling We

    JavaScriptpluginsrolluprollup-plugins
    View on GitHub↗3,750
  • reactjs/react-codemodreactjs avatar

    reactjs/react-codemod

    4,403View on GitHub↗

    This project is a suite of abstract syntax tree transformation tools designed to automate the migration of source code to newer versions of React. It provides a set of scripts that programmatically modify code structures to replace deprecated APIs and component patterns with modern equivalents. The toolkit specializes in converting class components into functional components using arrow functions and prop destructuring. It also includes utilities for modernizing JSX syntax, updating deprecated lifecycle methods to stable versions, and migrating legacy string-based references to callback refs.

    JavaScript
    View on GitHub↗4,403
  • facebookarchive/codemodfacebookarchive avatar

    facebookarchive/codemod

    4,133View on GitHub↗

    Codemod is a set of software tools for performing structural source code transformations. It functions as an automated codebase migration tool that utilizes abstract syntax tree manipulations rather than simple regular expressions to execute large-scale refactors across multiple files. The project distinguishes itself through an interactive transformation interface that provides colored diffs, allowing users to manually review, accept, or modify each match. It also supports a distributed refactoring workflow, which enables the segmentation of a codebase into assigned work blocks to divide mig

    Python
    View on GitHub↗4,133
  • react/metroreact avatar

    react/metro

    5,608View on GitHub↗

    Metro is a JavaScript bundler designed for React Native environments. It functions as a system for resolving dependencies, transforming source code, and packaging JavaScript and assets into bundles for execution. The project includes a development bundler server that hosts assets via HTTP and provides hot module replacement. It features a module resolver that handles platform-specific file extensions and a source code transformer that converts code into tree structures for optimization and minification. The toolset covers programmatic bundle generation, source map creation, and file system c

    JavaScriptbundlerjavascriptreact-native
    View on GitHub↗5,608
  • google/autogoogle avatar

    google/auto

    10,545View on GitHub↗

    This project is a Java annotation processing framework and source code generator designed to automate repetitive boilerplate and reduce manual coding errors. It functions as a toolkit for building custom annotation processors that produce source code, metadata, and type definitions during the compilation process. The framework specifically automates the creation of immutable value types with built-in equality and hashing logic, as well as the generation of factory implementations for dependency injection. It also handles the automated production of service provider configuration files to enab

    Java
    View on GitHub↗10,545
  • rich-harris/magic-stringRich-Harris avatar

    Rich-Harris/magic-string

    2,668View on GitHub↗

    magic-string is a low-level JavaScript library designed for compilers and bundlers to perform source code transformations. It serves as a string transformation utility and source map manipulation library that allows for modifying text while automatically tracking character offsets. The library enables the modification of source code strings through insertions, replacements, and removals without losing the relationship to original source positions. It specifically provides mechanisms to generate mapping files that link transformed output text back to original source file coordinates. Capabili

    JavaScript
    View on GitHub↗2,668