Showing 127 open source projects for "ast"

View related business solutions
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • 1
    go-ast-book

    go-ast-book

    Go Language Customization Guide

    Go AST Book is an open-source Chinese technical book about understanding and customizing Go through its abstract syntax tree. It explains how Go source files can be represented as semantically equivalent AST structures. The book focuses on the standard library packages behind this process, especially go/ast and go/token. It shows how tools such as formatting, documentation, parsing, and code analysis are built on top of syntax tree concepts.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    PHP Parser

    PHP Parser

    A PHP parser written in PHP

    ...This emulation is somewhat hacky and not perfect, but it should work well on any sane code. Support for pretty printing, which is the act of converting an AST into PHP code. Please note that "pretty printing" does not imply that the output is especially pretty.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 3
    Bandit

    Bandit

    Bandit is a tool designed to find common security issues in Python

    Bandit is a tool designed to find common security issues in Python code. To do this, Bandit processes each file, builds an AST from it, and runs appropriate plugins against the AST nodes. Once Bandit has finished scanning all the files, it generates a report. Bandit was originally developed within the OpenStack Security Project and later rehomed to PyCQA.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 4
    UglifyJS 3

    UglifyJS 3

    JavaScript parser, mangler, compressor, beautifier toolkit

    UglifyJS is a JavaScript compressor/minifier written in JavaScript. It also contains tools that allow one to automate working with JavaScript code. A parser which produces an abstract syntax tree (AST) from JavaScript code. A code generator which outputs JavaScript code from an AST, also providing the option to get a source map. A compressor (optimizer). it uses the transformer API to optimize an AST into a smaller one. A mangler, reduce names of local variables to (usually) single-letters. A scope analyzer, which is a tool that augments the AST with information about where variables are defined/referenced etc. ...
    Downloads: 6 This Week
    Last Update:
    See Project
  • Host LLMs in Production With On-Demand GPUs Icon
    Host LLMs in Production With On-Demand GPUs

    NVIDIA L4 GPUs. 5-second cold starts. Scale to zero when idle.

    Deploy your model, get an endpoint, pay only for compute time. No GPU provisioning or infrastructure management required.
    Try Free
  • 5
    jscodeshift

    jscodeshift

    A JavaScript codemod toolkit

    ...The primary way to identify nodes is via their type. It's OK to not know the structure of every AST node type. The (esprima) AST explorer is an online tool to inspect the AST for a given piece of JS code.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    react-docgen

    react-docgen

    A CLI and toolbox to extract information from React component files

    react-docgen is a CLI and toolbox to help extracting information from React components, and generate documentation from it. It uses @babel/parser to parse the source into an AST and provides methods to process this AST to extract the desired information. The output / return value is a JSON blob / JavaScript object. It provides a default implementation for React components defined via React.createClass, ES2015 class definitions or functions (stateless components). These component definitions must follow certain guidelines in order to be analyzable. ...
    Downloads: 1 This Week
    Last Update:
    See Project
  • 7
    Jawn

    Jawn

    Jawn is for parsing jay-sawn (JSON)

    ...I chose the name because I had moved to Montreal so I remembered Philly fondly. Also, there isn't a better way to describe objects encoded in JSON than "things". Finally, we get a catchy slogan. Jawn was designed to parse JSON into an AST as quickly as possible. Currently, Jawn is competitive with the fastest Java JSON libraries (GSON and Jackson) and in the author's benchmarks, it often wins. It seems to be faster than any other Scala parser that exists (as of July 2014).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    commonmark-java

    commonmark-java

    Java library for parsing and rendering CommonMark (Markdown)

    Java library for parsing and rendering Markdown text according to the CommonMark specification (and some extensions). Provides classes for parsing input to an abstract syntax tree of nodes (AST), visiting and manipulating nodes, and rendering to HTML. It started out as a port of commonmark.js, but has since evolved into a full library with a nice API.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    Haskell Dockerfile Linter

    Haskell Dockerfile Linter

    Dockerfile linter, validate inline bash, written in Haskell

    A smarter Dockerfile linter that helps you build best practice Docker images. The linter parses the Dockerfile into an AST and performs rules on top of the AST. It stands on the shoulders of ShellCheck to lint the Bash code inside RUN instructions. You can run hadolint locally to lint your Dockerfile. You can download prebuilt binaries for OSX, Windows and Linux from the latest release page. However, if this does not work for you, please fall back to container (Docker), brew or source installation. ...
    Downloads: 4 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 10
    CppSharp

    CppSharp

    Tools and libraries to glue C/C++ APIs to high-level languages

    ...It can also be used as a library to parse native code into a syntax tree with a rich declaration and type information model. Generates the glue binding code from a syntax tree of the native code. Provides APIs for parsing of C/C++ source code into a syntax tree. Mirrors the Clang's C/C++ AST and type system classes in C# APIs.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 11
    markdown-rs

    markdown-rs

    CommonMark compliant markdown parser in Rust with ASTs and extensions

    ...It’s implemented as a state machine (#![no_std] + alloc) that emits concrete tokens, so that every byte is accounted for, with positional info. The API then exposes this information as an AST, which is easier to work with, or it compiles directly to HTML. While most markdown parsers work towards compliancy with CommonMark (or GFM), this project goes further by following how the reference parsers (cmark, cmark-gfm) work, which is confirmed with thousands of extra tests. Other than CommonMark and GFM, this project also supports common extensions to markdown such as MDX, math, and frontmatter.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    JuliaSyntax

    JuliaSyntax

    A Julia frontend, written in Julia

    ...It's highly compatible with Julia's older femtoliter-based parser - It parses all of Base, the standard libraries and the General registry. Some minor differences remain where we've decided to fix bugs or strange behaviors in the reference parser. The AST and tree data structures are usable but their APIs will evolve as we try out various use cases. Parsing to the standard Expr AST is always possible and will be stable. The intention is to extend this library over time to cover more of the Julia compiler front end.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Common Expression Language

    Common Expression Language

    Fast, portable, non-Turing complete expression evaluation

    ...To get started, try the Codelab. Determine the variables and functions you want to provide to CEL. Parse and check an expression to make sure it's valid. Then evaluate the output AST against some input. Checking is optional but strongly encouraged. The parsing phase indicates whether the expression is syntactically valid and expands any macros present within the environment. Parsing and checking are more computationally expensive than evaluation.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    Participle

    Participle

    A parser library for Go

    Participle is a parser library for Go that lets developers define parsers in an idiomatic Go style. It uses annotated Go structs to describe grammar rules and produce the parsed AST at the same time. This approach feels familiar to Go developers because it resembles the way struct tags are used for formats such as JSON. The library supports a rich grammar syntax with captures, recursive captures, grouping, alternatives, repetition, lookahead, and literal matching. It also supports custom capture behavior, union-like parser structures, and custom parsing hooks for more advanced grammars. ...
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    JavaParser

    JavaParser

    Java 1-17 Parser and Abstract Syntax Tree for Java

    ...If you are not familiar with them we suggest taking a look at the maven quickstart projects. Since Version 3.5.10, the JavaParser project includes the JavaSymbolSolver. While JavaParser generates an Abstract Syntax Tree, JavaSymbolSolver analyzes that AST and is able to find the relation between an element and its declaration (e.g. for a variable name it could be a parameter of a method, providing information about its type, position in the AST, etc). When choosing open source technologies it is important to know your choice will be rewarded by continuous support. The JavaParser community is vibrant and active, with a weekly release cadence that supports language features up to Java 12.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    goldmark

    goldmark

    A markdown parser written in Go. Easy to extend, standard, compliant

    ...Easy to extend, standard(CommonMark) compliant, well structured.golang-commonmark may be a good choice, but it seems to be a copy of markdown-it. blackfriday.v2 is a fast and widely-used implementation, but is not CommonMark-compliant and cannot be extended from outside of the package, since its AST uses structs instead of interfaces. Furthermore, its behavior differs from other implementations in some cases, especially regarding lists: Deep nested lists don't output correctly #329, List block cannot have a second line #244, etc. This behavior sometimes causes problems. If you migrate your Markdown text from GitHub to blackfriday-based wikis, many lists will immediately be broken. ...
    Downloads: 1 This Week
    Last Update:
    See Project
  • 17
    eslint-plugin-jsx-a11y

    eslint-plugin-jsx-a11y

    Static AST checker for a11y rules on JSX elements

    Static AST checker for accessibility rules on JSX elements. This plugin does a static evaluation of the JSX to spot accessibility issues in React apps. Because it only catches errors in static code, use it in combination with axe-core/react to test the accessibility of the rendered DOM. Consider these tools just as one step of a larger a11y testing process and always test your apps with assistive technology.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    VT Code

    VT Code

    VT Code - semantic AI coding agent

    ...It is implemented in Rust and focuses on performance, portability, and deep integration with developer workflows that rely on terminal tools. The system leverages syntax-aware parsing technologies such as tree-sitter and AST-based analysis to understand code structure rather than relying solely on raw text, which enables more accurate and context-aware suggestions. VTCode operates as an agent rather than a simple autocomplete tool, meaning it can interpret user intent, navigate codebases, and assist with multi-step tasks. It is highly configurable, allowing developers to define behavior, prompts, and workflows tailored to their projects. ...
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    latexify

    latexify

    A library to generate LaTeX expression from Python code

    latexify_py converts small, math-heavy pieces of Python code into human-readable LaTeX that mirrors the intent of the computation, not just its surface syntax. It parses Python functions and expressions into an abstract syntax tree (AST), applies symbolic rewrites for common mathematical constructs, and then emits LaTeX that compiles cleanly in standard environments. Typical use cases include turning analytical utilities—like probability mass functions, activation formulas, or recurrence relations—into equations suitable for papers, notebooks, and slide decks. The tool aims to preserve semantics such as exponentiation, summations, products, piecewise definitions, and function application while hiding Pythonic scaffolding. ...
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Spoon

    Spoon

    Metaprogramming library to analyze and transform Java source code

    Spoon is an open-source library to analyze, rewrite, transform, transpile Java source code. It parses source files to build a well-designed AST with powerful analysis and transformation API. It supports modern Java versions up to Java 20. Spoon is an official Inria open-source project, and member of the OW2 open-source consortium.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 21
    Difftastic

    Difftastic

    A structural diff that understands syntax

    Difftastic is a structural diff tool written in Rust that parses source files using syntax trees (via tree‑sitter) and produces human‑readable diffs at the expression level. It works across 30+ languages and emphasizes readability by aligning code structure rather than lines. Ideal for code review and understanding semantic changes.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 22
    Parser for Rust source code

    Parser for Rust source code

    Parser for Rust source code

    Parser for Rust source code is a major Rust crate for parsing Rust source code (token streams) into a syntax tree (AST) that procedural macros can inspect or transform. The primary target is macro authors: you can parse TokenStreams into syn::File, syn::Item, syn::Expr, syn::Type, etc. It offers rich data structures, fine-grained parsing, span tracking (for error reporting), traversal and mutation APIs (visit, fold, visit_mut), printing back to tokens, and strong feature-gating so you only compile what you need. ...
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    codebase-memory-mcp

    codebase-memory-mcp

    High-performance code intelligence MCP server

    ...It indexes codebases into a persistent knowledge graph so agents can understand architecture, symbols, call chains, routes, and cross-service relationships without reading every file repeatedly. The project uses tree-sitter AST analysis across 158 languages and adds Hybrid LSP type resolution for major languages like Python, TypeScript, JavaScript, Go, C#, Java, Rust, C, and C++. It is built for speed, with average repositories indexed in milliseconds and structural queries answered in under one millisecond. It ships as a single static binary for macOS, Linux, and Windows with no shared library dependencies. ...
    Downloads: 32 This Week
    Last Update:
    See Project
  • 24
    CodeGraph

    CodeGraph

    Pre-indexed code knowledge graph for Claude Code, Codex, Cursor

    CodeGraph is a local-first code intelligence tool that gives AI coding agents a pre-indexed understanding of a repository. Instead of forcing agents to repeatedly scan files with grep, glob, and read commands, it builds a searchable knowledge graph of symbols, relationships, call graphs, and code structure. The project uses deterministic parsing rather than LLM summaries, which makes its indexed data more predictable and grounded in the actual source tree. It is designed for tools such as...
    Downloads: 26 This Week
    Last Update:
    See Project
  • 25
    Jspicl

    Jspicl

    A Javascript to PICO-8 Lua transpiler

    Jspicl is a JavaScript to PICO-8 Lua transpiler that allows developers to write their game logic in JavaScript, which is then transpiled into the Lua subset supported by PICO-8. This enables developers more comfortable with JavaScript to create games for the PICO-8 platform.
    Downloads: 0 This Week
    Last Update:
    See Project