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

babylon
babylon babel JavaScript

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

1.7k
mdast
mdast syntax-tree

Markdown Abstract Syntax Tree format

1.5k
py2many
py2many py2many Python

Transpiler of Python to many other languages

1.3k
rector-laravel
rector-laravel driftingly PHP

Rector upgrades rules for Laravel

1.3k
astring
astring davidbonnet JavaScript

๐ŸŒณ Tiny and fast JavaScript code generator from an ESTree-compliant AST.

1.2k
meriyah
meriyah meriyah TypeScript

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

1.2k
js-deobfuscator
js-deobfuscator kuizuo JavaScript

An automated JavaScript deobfuscation tool based on Babel AST, with an online playground, CLI, and programmable API.

1.2k
solhint
solhint protofire JavaScript

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

1.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
ModiScript
ModiScript VPanjeta Python

Acche din aa gaye

1k
exprtk
exprtk ArashPartow C++

C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html

1k
unist
unist syntax-tree

Universal Syntax Tree used by @unifiedjs

1k
proposal-binary-ast
proposal-binary-ast tc39

Binary AST proposal for ECMAScript

988
estraverse
estraverse estools JavaScript

ECMAScript JS AST traversal functions

969
php-parser
php-parser z7zmey Go

PHP parser written in Go

959
wakaru
wakaru pionxzh Rust

๐Ÿ”ช๐Ÿ“ฆ Javascript decompiler for modern frontend

954
hast
hast syntax-tree

Hypertext Abstract Syntax Tree format

905
tolerant-php-parser
tolerant-php-parser microsoft PHP

An early-stage PHP parser designed for IDE usage scenarios.

895
esquery
esquery estools JavaScript

ECMAScript AST query library.

888
humanize-ppt
humanize-ppt LearnPrompt Python

AST-based outline director for human-centered AI presentation workflows.

859
webassemblyjs
webassemblyjs xtuc JavaScript

Toolchain for WebAssembly

835
fantomas
fantomas fsprojects F#

FSharp source code formatter

832
graphql-go-tools
graphql-go-tools wundergraph Go

GraphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2,...

830
putout
putout coderaiser JavaScript

๐ŸŠ Pluggable and configurable JavaScript Linter, code transformer and formatter with superpowers ๐Ÿ’ช: built-in support of js, jsx, ts, markdown, yaml,...

797
tiny-compiler
tiny-compiler mgechev JavaScript

A tiny evaluator and compiler of arithmetic expressions.

775
node-dependency-tree
node-dependency-tree dependents JavaScript

Get the dependency tree of a module

775
rickroll-lang
rickroll-lang Rick-Lang Python

The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statemen...

766
debundle
debundle 1egoman JavaScript

:card_file_box: A javascript debundler. Takes a Browserify or Webpack bundle and recreates the initial, pre-bundled source.

738
probe
probe probelabs Rust

AI-friendly semantic code search engine for large codebases. Combines ripgrep speed with tree-sitter AST parsing. Powers AI coding assistants with pre...

679
CodeVisualizer
CodeVisualizer DucPhamNgoc08 TypeScript

CodeVisualizer is a powerful VS Code extension that provides two main visualization capabilities: function-level flowcharts for understanding code con...

665
orgajs
orgajs orgapp JavaScript

parse org-mode content into AST

659
CppAst.NET
CppAst.NET xoofx C#

CppAst is a .NET library providing a C/C++ parser for header files powered by Clang/libclang with access to the full AST, comments and macros

617
treewalker.nvim
treewalker.nvim aaronik Lua

A neovim plugin for moving around your code in a syntax tree aware manner

613
astroid
astroid pylint-dev Python

A common base representation of python source code for pylint and other projects

581
tiny-compiler
tiny-compiler zakirullin C

A tiny compiler for a language featuring LL(2) grammar. With Lexer, Parser, ASM-like codegen and VM. Complex enough to give you a flavour of how the "...

576
php-parser
php-parser glayzzle JavaScript

:herb: NodeJS PHP Parser - extract AST or tokens

563
postcss-rs
postcss-rs postcss-rs Rust

๐Ÿš€ Fast and 100% API compatible postcss replacer, built in Rust

563
escope
escope estools JavaScript

Escope: ECMAScript scope analyzer

550
ast-explorer
ast-explorer sxzz TypeScript

A web tool to explore the ASTs generated by parsers.

550
Auditor
Auditor TheAuditorTool

Release channel for TheAuditor โ€” see blog.theauditortool.com

549
Reinforced.Typings
Reinforced.Typings reinforced C#

Converts C# classes to TypeScript interfaces (and many more) within project build. 0-dependency, minimal, gluten-free

549
martian
martian tryfabric TypeScript

Markdown to Notion: Convert Markdown and GitHub Flavoured Markdown to Notion API Blocks and RichText ๐Ÿ”€๐Ÿ“

540
ClangQL
ClangQL AmrDeveloper Rust

ClangQL is a tool that allow you to run SQL-like query on C/C++ Code instead of database files using the GitQL SDK

535
vermin
vermin netromdk Python

Concurrently detect the minimum Python versions needed to run code

526
officeParser
officeParser harshankur Rich Text Format

A robust, strictly-typed Node.js and Browser library for parsing office files into a rich Abstract Syntax Tree (AST) and generating high-fidelity outp...

525
vscode-blockman
vscode-blockman leodevbro TypeScript

VSCode extension to highlight nested code blocks

513
tenko
tenko pvdz JavaScript

An 100% spec compliant ES2021 JavaScript parser written in JS

509
luaparse
luaparse fstirlitz JavaScript

A Lua parser written in JavaScript

499
HexraysToolbox
HexraysToolbox patois Python

Hexrays Toolbox - Find code patterns within the Hexrays ctree

485
cst
cst cst JavaScript

:herb: JavaScript Concrete Syntax Tree

463