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)

prettier
prettier prettier JavaScript

Prettier is an opinionated code formatter.

51.8k
babel
babel babel TypeScript

🐠 Babel is a compiler for writing next generation JavaScript.

43.9k
postcss
postcss postcss TypeScript

Transforming styles with JS plugins

29k
PHP-Parser
PHP-Parser nikic PHP

A PHP parser written in PHP

17.4k
ast-grep
ast-grep ast-grep Rust

⚡A CLI tool for code structural search, lint and rewriting. Written in Rust

13.6k
rector
rector rectorphp PHP

Instant Upgrades and Automated Refactoring of any PHP 5.3+ code

10.3k
remark
remark remarkjs JavaScript

markdown processor powered by plugins part of the @unifiedjs collective

8.8k
expr
expr expr-lang Go

Expression language and expression evaluation for Go

7.8k
esprima
esprima jquery TypeScript

ECMAScript parsing infrastructure for multipurpose analysis

7.1k
js-code-to-svg-flowchart
js-code-to-svg-flowchart Bogdan-Lyashenko JavaScript

js2flowchart - a visualization library to convert any JavaScript code into beautiful SVG flowchart. Learn other’s code. Design your code. Refactor cod...

7.1k
astexplorer
astexplorer fkling JavaScript

A web tool to explore the ASTs generated by various parsers.

6.5k
gogocode
gogocode thx JavaScript

GoGoCode is a transformer for JavaScript/Typescript/HTML based on AST but providing a more intuitive API.

6.1k
javaparser
javaparser javaparser Java

Java 1-25 Parser and Abstract Syntax Tree for Java with advanced analysis functionalities.

6.1k
ts-morph
ts-morph dsherret TypeScript

TypeScript Compiler API wrapper for static analysis and programmatic code changes.

6k
JSqlParser
JSqlParser JSQLParser Java

JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Patte...

5.9k
go-ast-book
go-ast-book chai2010 Go

:books: 《Go语言定制指南》(原名:Go语法树入门/开源免费图书/Go语言进阶/掌握抽象语法树/Go语言AST)

5.5k
estree
estree estree

The ESTree Spec

5.4k
unified
unified unifiedjs JavaScript

Parse, inspect, transform, and serialize content with syntax trees

5k
cppinsights
cppinsights andreasfertig C++

C++ Insights - See your source code with the eyes of a compiler

4.5k
gritql
gritql biomejs Rust

GritQL is a query language for searching, linting, and modifying code.

4.5k
compodoc
compodoc compodoc TypeScript

:notebook_with_decorative_cover: The missing documentation tool for your Angular, Nest & Stencil application

4.1k
participle
participle alecthomas Go

A parser library for Go

3.9k
rewrite
rewrite openrewrite Java

Automated mass refactoring of source code.

3.4k
esdoc
esdoc esdoc JavaScript

ESDoc - Good Documentation for JavaScript

2.7k
escodegen
escodegen estools JavaScript

ECMAScript code generator

2.7k
webcrack
webcrack j4k0xb TypeScript

Deobfuscate obfuscator.io, unminify and unpack bundled javascript

2.6k
Down
Down johnxnguyen C

Blazing fast Markdown / CommonMark rendering in Swift, built upon cmark.

2.5k
react-monocle
react-monocle team-gryff JavaScript

A developer tool to visualize a React application's component hierarchy.

2.4k
piranha
piranha uber Rust

A tool for refactoring code related to feature flag APIs

2.4k
retext
retext retextjs JavaScript

natural language processor powered by plugins part of the @unifiedjs collective

2.4k
markdown-to-jsx
markdown-to-jsx quantizor TypeScript

A very fast and versatile markdown toolchain. Output to AST, React, React Native, SolidJS, Vue, HTML, and more!

2.4k
diffsitter
diffsitter afnanenayet Rust

A tree-sitter based AST difftool to get meaningful semantic diffs

2.4k
rehype
rehype rehypejs JavaScript

HTML processor powered by plugins part of the @unifiedjs collective

2.2k
rope
rope python-rope Python

a python refactoring library

2.2k
infection
infection infection PHP

PHP Mutation Testing library

2.2k
micromark
micromark micromark JavaScript

small, safe, and great commonmark (optionally gfm, mdx) compliant markdown parser

2.2k
csstree
csstree csstree JavaScript

A tool set for CSS including fast detailed parser, walker, generator and lexer based on W3C specs and browser implementations

2.1k
gitbase
gitbase src-d Go

SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbase

2.1k
spoon
spoon INRIA Java

Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source f...

1.9k
dingo
dingo MadAppGang Go

A meta-language for Go that adds Result types, error propagation (?), and pattern matching while maintaining 100% Go ecosystem compatibility

1.9k
starry-night
starry-night wooorm JavaScript

Syntax highlighting, like GitHub

1.8k
cppast
cppast standardese C++

Library to parse and work with the C++ AST

1.8k
birdseye
birdseye alexmojaki JavaScript

Graphical Python debugger which lets you easily view the values of all evaluated expressions

1.7k
babylon
babylon babel JavaScript

PSA: moved into babel/babel as @babel/parser -->

1.7k
cocoindex-code
cocoindex-code cocoindex-io Python

A super light-weight embedded code search engine CLI (AST based) that just works - saves 70% token and improves speed for coding agent 🌟 Star if you...

1.4k
mdast
mdast syntax-tree

Markdown Abstract Syntax Tree format

1.4k
py2many
py2many py2many Python

Transpiler of Python to many other languages

1.2k
astring
astring davidbonnet JavaScript

🌳 Tiny and fast JavaScript code generator from an ESTree-compliant AST.

1.2k
rector-laravel
rector-laravel driftingly PHP

Rector upgrades rules for Laravel

1.2k
meriyah
meriyah meriyah TypeScript

A 100% compliant, self-hosted javascript parser - https://meriyah.github.io/meriyah

1.2k