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 (1548)

eslint-plugin-require-sort
eslint-plugin-require-sort zcuric JavaScript

ESlint plugin for sorting requires (CommonJS modules) alphabetically

32
bright
bright RokuRoad TypeScript

Blazing fast parser for BrightScript that gives you ESTree like AST

32
mkdoc
mkdoc mkdoc JavaScript

Markdown processing tools

32
regjsgen
regjsgen bnjmnt4n JavaScript

Generate regular expressions from regjsparser’s AST.

32
human-parser-generator
human-parser-generator christophevg C#

A straightforward recursive descent Parser Generator with a focus on "human" code generation and ease of use.

32
fastobo-py
fastobo-py fastobo Rust

Faultless AST for Open Biomedical Ontologies in Python.

32
akamai-vm-reverse
akamai-vm-reverse drakoarmy JavaScript

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

32
HyperAST
HyperAST HyperAST Rust

Temporal code analyses at scale

32
Slang
Slang Swifteroid Swift

SourceKitten + Querying + Editing = 💖

31
puma
puma pumascript JavaScript

Meta-programming framework for JavaScript based on LayerD concepts

31
espurify
espurify estools JavaScript

Clone AST without extra properties

31
predeclared
predeclared nishanths Go

Find declarations in Go source code that shadow predeclared identifiers

31
syntakts
syntakts wingio Kotlin

Simple to use text parser and syntax highlighter for Kotlin Multiplatform

31
sortier
sortier snowcoders TypeScript

An opinionated code sorter

31
getrector-com
getrector-com rectorphp PHP

Rector Website

31
astx
astx codemodsquad TypeScript

the best structural search and replace tool for JavaScript, Flow, and TypeScript

31
gogoAST
gogoAST shuerguo999 JavaScript

The simplest tool to parse/transform/generate code on ast

30
jast
jast DhaliwalX C++

JavaScript AST in C++

30
yode
yode hoschi JavaScript

Yode - Focused Code Editing

30
ScubaTrace
ScubaTrace SunBK201 Python

Source-level code analysis toolkit for SAST, context engineering, and AI coding

30
go-calculator
go-calculator mnogu Go

A scientific calculator CLI (Command Line Interface) tool and library written in Go

30
PyObfuscator
PyObfuscator mauricelambert Python

This module obfuscates python code.

30
applets-conversion-cli
applets-conversion-cli CaMnter TypeScript

⭐小程序转换工具 (。>﹏<。)

29
solparse
solparse duaraghav8 JavaScript

Solidity Parser for Solium

29
apate
apate dmriding Rust

Keyed reversible source code obfuscator for Rust: syntactically valid, functionally identical, spiritually hostile.

29
vast
vast lydiandy V

A simple tool for vlang, generate v source file to AST json file

29
go-assert
go-assert huandu Go

Magic assert macros for Go.

29
astVisualizer
astVisualizer viswesh HTML

A tool to visualize abstract syntax tree.

29
rawsql-ts
rawsql-ts mk3008 TypeScript

SQL-first lifecycle toolkit for testing, inspecting, and evolving database applications.

29
our-own-webpack
our-own-webpack craigtaub JavaScript

Our own version of Webpack in <200 lines

29
fastobo
fastobo fastobo Rust

Faultless AST for Open Biomedical Ontologies.

29
carrot-ai-pm
carrot-ai-pm talvinder TypeScript

Carrot auto-writes specs and catches AI code drift. MCP server for Cursor that AST-validates every commit.

29
regex-parser
regex-parser yoeunes PHP

RegexParser: Static Analysis, Linter & Logic Solver for PHP

29
tydoc
tydoc tydoc TypeScript

The TypeScript documenter that meets you where you are

28
ruby_ast_visualizer
ruby_ast_visualizer koic Ruby

:evergreen_tree: Ruby AST Visualizer. Based on Parser.

28
static-pdg-js
static-pdg-js Aurore54F Python

Static JavaScript Analysis: AST, Control Flow, Data Flow, & Pointer Analysis

28
esvalid
esvalid estools JavaScript

confirm that a SpiderMonkey format AST represents an ECMAScript program

27
awesome-ruby-ast
awesome-ruby-ast rajasegar

A list of awesome tools and libraries which deals with ASTs in Ruby

27
www
www bespoyasov TypeScript

Source code for my blog · ✍️ 💻 👋

27
cjs-es
cjs-es eight04 JavaScript

Transform CommonJS modules into ES modules.

27
rector-nette
rector-nette efabrica-team PHP

Rector upgrades rules for Nette

27
parse-it
parse-it jcs-elpa Emacs Lisp

Basic Parser in Emacs Lisp.

27
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...

26
Python3Generator
Python3Generator juliendelplanque Smalltalk

A toolkit to generate Python 3 source code from Pharo.

26
snapdragon-node
snapdragon-node here-be JavaScript

Snapdragon utility for creating a new AST node in custom code, such as plugins.

26
fastats
fastats fastats Python

A pure Python library for benchmarked, scalable numerics using numba.

26
reporecall
reporecall proofofwork-agency TypeScript

Local codebase memory, auto-generated wiki, and interactive architecture dashboard for Claude Code and MCP. AST indexing, call graphs, hybrid search,...

26
gram-js
gram-js gram-data JavaScript

Gram in javascript.

26
textlint-plugin-html
textlint-plugin-html textlint HTML

HTML support for textlint

26
codeverter
codeverter southworks TypeScript

Convert ts source files into multiple languages

26