Most popular ast repositories and open source projects

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.

tiny-compiler

A tiny evaluator and compiler of arithmetic expressions.

90   768   768  

unist

Universal Syntax Tree used by @unifiedjs

19   740   740  

webassemblyjs

Toolchain for WebAssembly

95   738   738  

esquery

ECMAScript AST query library.

84   726   726  

rickroll-lang

The Rick Roll programming language is a rickroll based, process orient...

48   697   697  

fantomas

FSharp source code formatter

171   668   668  

debundle

:card_file_box: A javascript debundler. Takes a Browserify or Webpack...

144   646   646  

node-dependency-tree

Get the dependency tree of a module

79   588   588  

hast

Hypertext Abstract Syntax Tree format

24   578   578  

orgajs

parse org-mode content into AST

60   567   567  

escope

Escope: ECMAScript scope analyzer

75   532   532  

py2many

Transpiler of Python to many other languages

41   528   528  

tiny-compiler

A tiny compiler for a language featuring LL(2) with Lexer, Parser, ASM...

40   521   521  

postcss-rs

🚀 Fast and 100% API compatible postcss replacer, built in Rust

20   513   513  

putout

🐊 Pluggable and configurable JavaScript Linter and code transformer w...

34   510   510  

tenko

An 100% spec compliant ES2021 JavaScript parser written in JS

14   505   505  

graphql-go-tools

Tools to write high performance GraphQL applications using Go/Golang.

93   504   504  

exprtk

C++ Mathematical Expression Parsing And Evaluation Library https://www...

229   497   497  

php-parser

:herb: NodeJS PHP Parser - extract AST or tokens

68   492   492  

astroid

A common base representation of python source code for pylint and othe...

258   470   470  

qone

.NET LINQ in javascript

45   459   459  

cst

:herb: JavaScript Concrete Syntax Tree

30   449   449  

Reinforced.Typings

Converts C# classes to TypeScript interfaces (and many more) within pr...

73   439   439  

elm-analyse

A tool that allows you to analyse your Elm code, identify deficiencies...

55   421   421  

luaparse

A Lua parser written in JavaScript

87   419   419  

protoc-gen-gotemplate

:open_file_folder: generic protocol generator based on golang's text/t...

71   417   417  

refactor

AST-based fragmental source code refactoring toolkit for Python

18   410   410  

detective

Find all calls to require() no matter how deeply nested using a proper...

61   407   407  

ratel-core

High performance JavaScript to JavaScript compiler with a Rust core

17   407   407  

i18nize-react

Internationalize react apps within a lunch break

20   397   397  

HexraysToolbox

Hexrays Toolbox - Find code patterns within the Hexrays AST

42   391   391  

vermin

Concurrently detect the minimum Python versions needed to run code - V...

22   377   377  

sorcery

Dark magic delights in Python

21   365   365  

TatSu

竜 TatSu generates Python parsers from grammars in a variation of EBNF

43   361   361  

CppAst.NET

CppAst is a .NET library providing a C/C++ parser for header files pow...

45   360   360  

decorator

Function decorators for Elixir

19   359   359  

pytago

A source-to-source transpiler for Python to Go translation

26   349   349  

bblfshd

A self-hosted server for source code parsing

53   347   347  

awesome-graal

A curated list of awesome resources for Graal, GraalVM, Truffle and re...

30   344   344  

llvm-guide-zh

User Guides For those new to the LLVM system.(LLVM系统的新用户指南,中...

63   326   326  

kataw

An 100% spec compliant ES2022 JavaScript toolchain

4   322   322  

reshape

:diamond_shape_with_a_dot_inside: transform html with javascript plugi...

20   319   319  

HRDevHelper

Context-sensitive HexRays decompiler plugin that visualizes the ctree...

36   310   310  

goql

A golang source code scanner, this time in sql :)

14   308   308  

tsutils

utility functions for working with typescript's AST

27   306   306  

vscode-blockman

VSCode extension to highlight nested code blocks

16   305   305  

esmangle

esmangle is mangler / minifier for Mozilla Parser API AST

38   289   289  

valast

Convert Go values to their AST

13   287   287  

rector-laravel

Rector upgrades rules for Laravel

25   285   285  

SwiftPascalInterpreter

Simple Swift interpreter for the Pascal language inspired by the Let’s...

17   281   281