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)

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

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

67
drupal-rector
drupal-rector palantirnet PHP

A developer utility for automatically upgrading deprecated code for Drupal 9

66
gotype
gotype wzshiming Go

Golang source code parsing, usage like reflect package

66
archex
archex Mathews-Tom Python

Verified code context for agents

66
charmd
charmd littletof JavaScript

A simple, extendable markdown renderer for your terminal.

66
chocopy-python-compiler
chocopy-python-compiler yangdanny97 Python

Ahead-of-time compiler for Chocopy, a statically typed subset of Python 3, built in Python 3, targeting CIL/CLR, JVM, LLVM IR, and WASM.

66
mkgendocs
mkgendocs davidenunes Python

Markdown documentation generator from Google docstrings

66
md-padding
md-padding harttle TypeScript

AST-based padding for Markdown and natural language, improving readability in multilingual documents. Supports Vim and VSCode.

65
Sawmill
Sawmill benjamin-hodgson C#

Simple tools for working with immutable trees

64
node-source-walk
node-source-walk dependents JavaScript

Execute a callback on every node of a source code's AST and stop walking whenever you see fit.

64
Fabulous.AST
Fabulous.AST edgarfgp F#

Abstract Syntax Tree (AST) Domain Specific Language (DSL) for F#

64
code_tokenize
code_tokenize cedricrupb Python

Fast tokenization and structural analysis of any programming language

64
annotation-abuse
annotation-abuse zmitchell HTML

Rust-like macros in Python by abusing type annotations

63
parseclj
parseclj clojure-emacs Emacs Lisp

Clojure Parser for Emacs Lisp

63
context-compiler
context-compiler Emmimal Python

A pure-Python reachability and skeletonization layer that decides what a coding agent actually sees before a request reaches the API.

63
ReactPropTypes-Plugin
ReactPropTypes-Plugin dpzxsm Java

A Jetbrains Plugin for react PropTypes

62
astravel
astravel davidbonnet JavaScript

👟 Tiny and fast ESTree-compliant AST walker and modifier.

62
fe-tools
fe-tools emosheeep TypeScript

A monorepo with series of helpful tools designed for frond-ends

62
GitModel
GitModel danielpatrickhug Python

Codebase topic modeling using GNNs(Node aggregation and clustering)

61
PT.PM
PT.PM PositiveTechnologies C#

:black_small_square: An engine for searching patterns in the source code, based on Unified AST or UST. At present time C#, Java, PHP, PL/SQL, T-SQL, M...

60
pg-builder
pg-builder sad-spirit PHP

Query builder for Postgres backed by SQL parser

60
ImpactGuard
ImpactGuard daedalus Python

ImpactGuard — Lightweight multi-language API impact analyzer

60
devlensOSS
devlensOSS devlensio TypeScript

An Open Source Codebase Intelligence for AI agents and Developers for javascript, typescript, reactjs, nextjs, python, java, go and rust for easy PR r...

60
esfuzz
esfuzz estools CoffeeScript

fuzzer for generative testing of ECMAScript parsers

59
Globalyze
Globalyze Bil0000 TypeScript

Prettier for localization, automatically convert React and Next.js apps into multilingual applications FAST.

59
rslua
rslua sssooonnnggg Rust

Yet another Lua lexer and Lua parser for Lua 5.3 written in pure Rust.

59
pyc-cfg
pyc-cfg shramos Python

Pyc-cfg is a pure python control flow graph builder for almost all Ansi C programming language.

59
esast
esast syntax-tree

ECMAScript Abstract Syntax Tree format

58
Chiffon
Chiffon polygonplanet JavaScript

A small ECMAScript parser, tokenizer and minifier written in JavaScript.

57
Ola
Ola mateeeeeee C++

Optimizing compiler for a statically-typed C-like language, featuring both an LLVM backend and a fully custom backend targeting x86-64 and ARM64

57
glsl-transformer
glsl-transformer IrisShaders GLSL

An advanced Java library for GLSL parsing, program transformation, and printing that uses ANTLR4. Developed and maintained by @douira.

57
protobuf-thrift
protobuf-thrift YYCoder Go

protobuf idl to thrift, and vice versa

57
scalajson
scalajson mdedetrich Scala

ScalaJSON - JSON for Scala, currently contains minimal AST

56
vibecop
vibecop bhvbhushan TypeScript

AI code quality toolkit — deterministic linter for the AI coding era. 22 detectors, GitHub Action PR gate, zero LLM required.

56
about-Vue
about-Vue Leo-lin214

:notebook_with_decorative_cover: Vue 源码的探讨和学习

55
ast-outline
ast-outline ast-outline Python

ast-outline lets AI coding agents pull exactly the code context they need — a repo skeleton, a file outline, or one symbol — instead of reading whole...

55
podlite
podlite podlite TypeScript

Implementation of Podlite markup language

55
Antlr4Ast
Antlr4Ast xoofx C#

Antlr4Ast is a .NET library that provides a parser and abstract syntax tree (AST) for ANTLR4/g4 files.

55
static-analysis
static-analysis pen4uin

静态分析

55
toast
toast Fanatics Go

Plugin-driven CLI utility for code generation using Go source as IDL

54
yaraast
yaraast seifreed Python

A powerful Python library and CLI tool for parsing, analyzing, and manipulating YARA rules through Abstract Syntax Tree (AST) representation

54
akamai-vm-reverse
akamai-vm-reverse drakoarmy JavaScript

Decompiled and cleaned Akamai v3 VM powering the latest sensor_data challenge script.

54
pychd
pychd diohabara Python

Python .pyc decompiler (3.0–3.14) with a contamination-aware benchmark harness. Rule-only pass + one Codex call per module; evaluated on fuzz-syntheti...

54
gct
gct QasimWani Python

Graphical Code Tracer (GCT): Visualize code at lightning speed

54
tree-sitter-analyzer
tree-sitter-analyzer aimasteracc Python

Cross-language-safe code-intelligence MCP for AI agents: 13 languages, family-gated call graph, blast radius, health grading, 8 facade tools, JSON env...

54
konan
konan egoist JavaScript

find all require/import calls by walking the AST

53
ex_ast
ex_ast elixir-vibe Elixir

Search, replace, and diff Elixir code by AST pattern

53
coAST
coAST coala CSS

Universal and language-independent abstract syntax tree

53
php-ast-reverter
php-ast-reverter tpunt PHP

Reverts the php-ast AST back into (somewhat) PSR-compliant code

52
retidy
retidy Xmader TypeScript

Extract, unminify, and beautify ("retidy") each file from a webpack/parcel bundle (JavaScript reverse engineering)

52