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)

eureka
eureka project-transparent Java

Eureka is a fluent API surrounding the internal Javac tree code that allows developers to perform compile-time AST changes in Java more easily.

6
mast
mast n0bra1n3r Nim

A simple DSL for defining abstract syntax trees in Nim

6
cue-extensions
cue-extensions orpharion Go

CUE extensions

6
mpl
mpl kurotakazuki Rust

This is minimal parser combinator of Minimal Parsing Language (MPL) like Top-Down Parsing Language (TDPL).

6
SharpCalc
SharpCalc awtb C#

Simple mathematical expressions evalulator, created with AST & RD.

6
nb-autodoc
nb-autodoc nonebot Python

Powerful API Documentation Generator.

6
GPJSD
GPJSD pagpeter JavaScript

General purpose JavaScript deobfuscator using deob-transformations

6
luna
luna royvandijk06 HTML

LUNA: Library Usage in Node.js Analyzer

6
jsx-compilation
jsx-compilation Sunny-117 JavaScript

🍻 实现 JSX 语法转成 JS 语法的编译器

6
Regex2MDFA
Regex2MDFA BigFish2086 Jupyter Notebook

Input a Regex, get its AST, NFA, DFA and finally it Minimized DFA (Compiler Course Assignment)

6
findpydeps
findpydeps Nicolas-Reyland Python

Find the python dependencies used by your python files and projects

6
php-ast
php-ast php-ast C

Parsing PHP source code using Python and generating ASTs

6
p2r
p2r programmersd21 Python

🐍🚀 A static Python-to-Rust transpiler that converts type-annotated Python code into performant and idiomatic Rust, with built-in compilation and exe...

6
wikiast
wikiast tiddly-gittly TypeScript

Wiki AST transformation for WYSIWYG editor and advanced dynamic widgets in Tiddlywiki.

6
cyclocalc
cyclocalc Cycloctane C

Simple math expression evaluator written in C99. Based on Pratt Parsing.

6
golangpeekr
golangpeekr mwiater Go

Peer into the source code for a high-level view of how a package is constructed. This is a personal CLI tool built in Go, using Cobra, Viper, and the...

6
actuallyexplain
actuallyexplain freenandes TypeScript

actuallyEXPLAIN is a visualizer that helps you understand logical intent in complex PostgreSQL queries in a diagram and dictionarized form.

6
diesel
diesel pedro-gutierrez Elixir

DSL craft and declarative programming in Elixir

6
phpstan-forbidden-nodes
phpstan-forbidden-nodes rajmundtoth0 PHP

PHPStan extension for banning AST nodes, functions, and method calls with path-based scoping

6
kida
kida lbliii Python

)彡 Kida — Free-threading template engine for Python 3.14+ with AST compilation and modern syntax

6
reader
reader php-type-language PHP

📰 Library for reading TypeLang AST nodes from types exposed by PHP Reflection objects

6
luau-parser
luau-parser ssynical Luau

Fast lexer and parser for Luau with full AST support

6
reductio
reductio jedin01 Java

A powerful Java library for parsing, simplifying, and analyzing mathematical expressions with automatic function type identification using Abstract Sy...

6
docstringify
docstringify stefmolin Python

Flag missing docstrings and, optionally, generate them from signatures and type annotations.

6
c0compiler
c0compiler RRdebug C++

IMU的编译原理大作业,c0编译器(前端+后端)

6
PlayAST
PlayAST WGrape JavaScript

抽象语法树的设计与实现 ( PlayAST : Play With Abstract Syntax Tree )

5
tspec
tspec wy-z Go

Parse golang data structure into json schema.

5
search-prototype.js
search-prototype.js azu JavaScript

Search usage of prototype.js in your codes.

5
clangml-transforms
clangml-transforms Antique-team OCaml

transformations from Clang AST to MemCAD AST

5
Compiler
Compiler dracarys983 C++

Compilers course project. Developed a compiler for a subset of C programming language (Decaf).

5
xon
xon xon-lang TypeScript

xon programming language

5
wazzup
wazzup jayphelps TypeScript

WebAssembly codegen, inspired by Binaryen. NOT intended for use, it was just created to learn the spec better.

5
imagen_rb
imagen_rb grodowski Ruby

Extracts data about modules, classes, methods and blocks from Ruby code

5
homebrew-infection
homebrew-infection infection Ruby

Homebrew tap for https://infection.github.io/

5
pycode2vec
pycode2vec NURx2 Python

The tool for getting embeddings of Python 3 code chunks

5
jscity
jscity peaonunes JavaScript

JavaScript projects visualised as 3D Cities

5
query-syntax-php
query-syntax-php skyrpex PHP

Parse Algolia-like queries into sort of a AST.

5
vue-script-parser
vue-script-parser kunaltaitkar JavaScript

This package is used to parse vue script section and it provides an interface to add, update and delete entities of different life cycles hooks of Vue...

5
CodeAnalysisJava
CodeAnalysisJava abhishek9sharma Java

Generate AST For .java files

5
toon-lang
toon-lang vanhtuan0409 C

A toy typed-check compiled language

5
astbuilders
astbuilders tdakkota Go

Go AST utility package

5
elm-dot-lang
elm-dot-lang brandly Elm

DOT Language

5
spiker
spiker shockerli Go

A Go package implementation of real-time computing

5
c2vb
c2vb Gesrua Python

A program convert simple C / C++ code to Visual Basic 6 code

5
astfmt
astfmt go-toolsmith Go

Package astfmt implements ast.Node formatting with fmt-like API.

5
JavaIntelligence
JavaIntelligence hackingtothesource HTML

static analysis/refactoring tool for Java code based on abstract syntax tree and symbol solving

5
flatB-Compiler-and-Interpreter
flatB-Compiler-and-Interpreter chaitanya100100 C++

Compiler and Interpreter for a c-like language flatB using flex scanner, bison parser and llvm code generator framework

5
tinylr
tinylr alextsao1999 C++

a tiny lalr and glr generator that can generate json ast

5
vue-ast-utils
vue-ast-utils privatenumber TypeScript

Utils for working with Vue 3 AST nodes

5
gwion-util
gwion-util Gwion C

Gwion lexer, parser and absyn

5