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

prettier
prettier prettier JavaScript

Prettier is an opinionated code formatter.

51.7k
babel
babel babel TypeScript

🐠 Babel is a compiler for writing next generation JavaScript.

43.7k
postcss
postcss postcss TypeScript

Transforming styles with JS plugins

27.6k
PHP-Parser
PHP-Parser nikic PHP

A PHP parser written in PHP

16.2k
ast-grep
ast-grep ast-grep Rust

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

9.5k
remark
remark remarkjs JavaScript

markdown processor powered by plugins part of the @unifiedjs collective

8.8k
rector
rector rectorphp PHP

Instant Upgrades and Automated Refactoring of any PHP 5.3+ code

7.3k
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
expr
expr expr-lang Go

Expression language and expression evaluation for Go

6.9k
esprima
esprima jquery TypeScript

ECMAScript parsing infrastructure for multipurpose analysis

6.8k
astexplorer
astexplorer fkling JavaScript

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

6.4k
gogocode
gogocode thx JavaScript

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

6k
javaparser
javaparser javaparser Java

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

5.9k
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.8k
go-ast-book
go-ast-book chai2010 Go

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

5.5k
ts-morph
ts-morph dsherret TypeScript

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

5.4k
estree
estree estree

The ESTree Spec

4.6k
compodoc
compodoc compodoc TypeScript

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

4.1k
unified
unified unifiedjs JavaScript

☔️ interface for parsing, inspecting, transforming, and serializing content through syntax trees

3.9k
participle
participle alecthomas Go

A parser library for Go

3.7k
esdoc
esdoc esdoc JavaScript

ESDoc - Good Documentation for JavaScript

2.7k
escodegen
escodegen estools JavaScript

ECMAScript code generator

2.5k
Down
Down johnxnguyen C

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

2.5k
rewrite
rewrite openrewrite Java

Automated mass refactoring of source code.

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

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

2.4k
cppinsights
cppinsights andreasfertig C++

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

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.3k
diffsitter
diffsitter afnanenayet Rust

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

2.2k
micromark
micromark micromark JavaScript

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

2.2k
infection
infection infection PHP

PHP Mutation Testing library

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
csstree
csstree csstree JavaScript

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

1.7k
babylon
babylon babel JavaScript

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

1.7k
birdseye
birdseye alexmojaki JavaScript

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

1.7k
starry-night
starry-night wooorm JavaScript

Syntax highlighting, like GitHub

1.7k
rope
rope python-rope Python

a python refactoring library

1.6k
webcrack
webcrack j4k0xb TypeScript

Deobfuscate obfuscator.io, unminify and unpack bundled javascript

1.6k
cppast
cppast foonathan C++

Library to parse and work with the C++ AST

1.5k
mdast
mdast syntax-tree

Markdown Abstract Syntax Tree format

1.4k
rehype
rehype rehypejs JavaScript

HTML processor powered by plugins part of the @unifiedjs collective

1.3k
meriyah
meriyah meriyah TypeScript

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

1.1k
astring
astring davidbonnet JavaScript

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

1.1k
ModiScript
ModiScript VPanjeta Python

Acche din aa gaye

1k
typehole
typehole rikukissa TypeScript

TypeScript development tool for Visual Studio Code that helps you automate creating the initial static typing for runtime values

1k
php-parser
php-parser z7zmey Go

PHP parser written in Go

928
proposal-binary-ast
proposal-binary-ast tc39

Binary AST proposal for ECMAScript

923
solhint
solhint protofire JavaScript

Solhint is an open-source project to provide a linting utility for Solidity code.

921
estraverse
estraverse estools JavaScript

ECMAScript JS AST traversal functions

902