Topic

ast

A grammar describes the syntax of a programming language, and might be defined in Backus-Naur form (BNF). A lexer performs lexical analysis, turning text into tokens. A parser takes tokens and builds a data structure like an abstract syntax tree (AST). The parser is concerned with context: does the sequence of tokens fit the grammar? A compiler is a combined lexer and parser, built for a specific grammar.

Repositories (1673)

supi
supi mrclrchtr TypeScript

Pi coding agent extensions with code intelligence (LSP + Tree-sitter AST), semantic refactoring, code review, web/Context7 docs, and ask-user forms.

92
PhpCodeArcheology
PhpCodeArcheology PhpCodeArcheology PHP

PHP static analysis for architecture & maintainability — 60+ metrics, complexity analysis, dependency graphs, git churn hotspots, and AI-ready MCP ser...

92
Babel-traverse-api-doc
Babel-traverse-api-doc RecluseXU

非官方自行编写@Babel/traverse API文档

91
redux-boilerplate-helpers
redux-boilerplate-helpers ArchivedRepos JavaScript

AST-based tool for automating Redux boilerplate

90
progex
progex ghaffarian Java

PROGEX (Program Graph Extractor); a cross platform tool for extracting graphical program representations from software source code

90
astextract
astextract luantak Go

Convert a go file to its ast representation

90
aws-sdk-js-codemod
aws-sdk-js-codemod aws TypeScript

Codemod scripts to update AWS SDK for JavaScript APIs.

89
asty
asty asty-org Go

Converts golang AST to JSON and JSON to AST

88
language-rust
language-rust harpocrates Haskell

Parser and pretty-printer for the Rust language

87
intellij-thrift
intellij-thrift fkorotkov Java
87
code-to-tree
code-to-tree micl2e2 C

A runtime-free MCP server that converts source code into AST🌲, regardless of language.

87
actuallyexplain
actuallyexplain freenandes TypeScript

actuallyEXPLAIN is a visualizer that helps you understand logical intent in complex PostgreSQL queries in a diagram and dictionarized form.

87
node-filing-cabinet
node-filing-cabinet dependents JavaScript

Get the file location associated with a dependency/partial's path

87
ts-transform-css-modules
ts-transform-css-modules longlho TypeScript

Extract css class names from required css module files for TypeScript

86
xcode-ast-dump
xcode-ast-dump keith Python

Dump the AST of your Swift Xcode project

86
stutter
stutter mkirchner C

Implement a Lisp, in C, from scratch, no libs

86
nix-ast
nix-ast z1-0 Haskell

A Nix library for parsing, inspecting, and transforming AST

85
deps-report
deps-report pichillilorenzo JavaScript

Generate reports about dependencies and dependents of your JavaScript/TypeScript files through an AST. It supports import and require statements.

84
Py-Compiler
Py-Compiler flymysql Python

一个用python写的编译器

84
logicstamp-context
logicstamp-context LogicStamp TypeScript

A Context Compiler for TypeScript. Deterministic, diffable architectural contracts and dependency graphs for AI coding workflows.

84
Jasm
Jasm jumanji144 Java

Post modern age integration focused jvm bytecode assembler

83
DoubleX
DoubleX Aurore54F Python

Statically Detecting Vulnerable Data Flows in Browser Extensions at Scale

83
ast_ninja
ast_ninja arjan Erlang

The Elixir AST explorer

82
Hippo
Hippo HippoPHP PHP

PHP standards checker.

81
esrecurse
esrecurse estools JavaScript

AST recursive visitor

80
JSRETK
JSRETK SeanPesce JavaScript

JavaScript Reverse Engineering Toolkit (JSRETK) - Experimental tools for analyzing (minified/obfuscated) JavaScript

80
rector-doctrine
rector-doctrine rectorphp PHP

Rector upgrade rules for Doctrine

80
code_summarization_public
code_summarization_public wanyao1992 Python

source code for 'Improving automatic source code summarization via deep reinforcement learning'

79
goparsify
goparsify vektah Go

golang parser-combinator library

79
jroff
jroff roperzh JavaScript

Man pages parser written in JavaScript, supports `an` and `doc` macros - WIP

78
redot
redot redotjs PEG.js

Graphviz dot file processor powered by plugins based on @unifiedjs

78
MarkdownSyntax
MarkdownSyntax hebertialmeida Swift

☄️ A Type-safe Markdown parser in Swift.

77
code-graph-mcp
code-graph-mcp sdsrss Rust

AST knowledge graph MCP server for Claude Code — semantic search, call graph traversal, HTTP route tracing, impact analysis. Auto-indexes 10 languages...

77
CricLang
CricLang manthanguptaa Go

CricLang is a fun dynamically typed language written in Go for cricket enthusiasts.

77
java-ast
java-ast pascalgn TypeScript

Java Parser for JavaScript/TypeScript (based on antlr4ts)

77
lpegrex
lpegrex edubart Lua

Parse programming languages syntax into an AST using PEGs with ease (LPeg Extension).

77
astra
astra alfasoftware Java

Astra: a Java tool for analysing and refactoring Java source code

75
deobshell
deobshell thewhiteninja Python

Powershell script deobfuscation using AST in Python

75
ravi-compiler
ravi-compiler dibyendumajumdar C

Parser and compiler for Ravi and Lua

72
Rock
Rock Rock-lang-org Rust

Native language with Rust & LLVM

72
giulia
giulia thatsme Elixir

A persistent, local-first AI development daemon built in Elixir/OTP. AST-level code intelligence, Property Graph, runtime BEAM introspection, and sema...

72
github-ast-viewer
github-ast-viewer lukehorvat JavaScript

Chrome extension to view the abstract syntax tree (AST) of code on GitHub.

71
mack
mack tryfabric TypeScript

Markdown To Slack: Convert Markdown and GitHub Flavoured Markdown to Slack BlockKit block objects 🔀💬

71
estree-toolkit
estree-toolkit sarsamurmu TypeScript

Tools for working with ESTree AST

71
method_log
method_log freerange Ruby

Trace the history of an individual method in a git repository (experimental)

70
jspicl
jspicl jspicl TypeScript

A Javascript to PICO-8 Lua transpiler

70
fossil-mcp
fossil-mcp yfedoseev Rust

The code quality toolkit for the agentic AI era. Find dead code, clones, and scaffolding across 15 languages. MCP server + CLI.

68
relottie
relottie LottieFiles TypeScript

Lottie processor powered by plugins

68
batchql
batchql matthiasak JavaScript

Don't just graphql, batchql!

67
eval-estree-expression
eval-estree-expression jonschlinkert JavaScript

Safely evaluate JavaScript (estree) expressions, sync and async.

67