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)

vast
vast JamesPhillipsUK Python

VisAST: Building and visualising Abstract Syntax Trees for Python code.

16
codegrapher
codegrapher LaurEars Python

Code that graphs code

15
luax
luax syarul Lua

Template engine for writing HTML inside *.lua(x) files, like JSX.

15
Ganges
Ganges psidh Go

Ganges is a modern, dynamically typed, interpreted language with Sanskrit-inspired syntax. Built in Go, Ganges is designed to be fun, expressive, and...

15
idl2js
idl2js PrVrSs Python

Grammar-based Fuzzer that uses WebIDL as a grammar.

15
gotopython
gotopython mbergin Go

A work-in-progress Go to Python transpiler.

15
extjs2react
extjs2react bfischer1121 JavaScript

Convert ExtJS apps to React

15
Noctyra
Noctyra 0p4n1k Python

AST-based Python code transformation & deobfuscation framework

15
circular-dependency-scanner
circular-dependency-scanner emosheeep TypeScript

Out-of-box circular dependencies detector, support js, jsx, ts, tsx, mjs, cjs, vue.

15
yaml-eslint-parser
yaml-eslint-parser ota-meshi TypeScript

A YAML parser that produces output compatible with ESLint

15
minic
minic AlexP11223 Kotlin

A simple compiler for a C-like programming language to JVM bytecode. Kotlin, ANTLR

15
grove
grove mintlify C

Universal AST parser built on Tree-sitter

15
go-auto-commenter
go-auto-commenter diptomondal007 Go

A go tool to add comments automatically on all the exported functions in a go project

15
ts-transform-json
ts-transform-json longlho TypeScript

Inline specific values from a JSON file or the whole JSON blob

15
vartan
vartan nihei9 Go

An LALR parser generator for golang

15
crokus
crokus JC-LL Ruby

C parser written in Ruby, for experimental purpose

15
selery
selery danburzo JavaScript

A CSS selector parser and DOM query engine.

15
compiler
compiler olbat C

Compiler for a toy language (Lex & Yacc)

15
css
css tbela99 PHP

A CSS parser and minifier and sourcemap generator written in PHP

15
bnf-ast
bnf-ast lfkdsk Java

Bnf-Ast Generator is a parser generator framework for parsing EBNF syntaxes with Java code. Unlike other EBNF-Parser must write config file (like yacc...

15
ast-node-builder
ast-node-builder rajasegar JavaScript

AST Node building api for jscodeshift

14
aurora
aurora guiferpa Go

:milky_way: An unconventional programming language that compiles to EVM bytecode.

14
docscribe
docscribe unurgunite Ruby

Automated code documentation tool

14
LogEye
LogEye MattFor Python

Frictionless logging/tracing for Python! No debugger needed.

14
AopClearLog
AopClearLog feelschaotic Java

Clear sensitive logs using AST and APT. 利用AST语法树实现AOP思想

14
freAST
freAST lloydmeta Scala

Fast, simple Free Monads using ScalaMeta macro annotations. Port of Freasy-Monad.

14
mini_vue
mini_vue xiaoai7904 JavaScript

mini版本Vue2.x,实现了Vue最核心部分代码(响应式,模版解析,事件绑定)

14
tdast
tdast tdast

Tabular Data Abstract Syntax Tree

14
esprima-extract-comments
esprima-extract-comments jonschlinkert JavaScript

Extract javascript code comments with esprima. Thin wrapper to prove a simple interface for getting code comments from a string, file or glob of files...

14
QoLang
QoLang QoLang Python

The Qo Programming Language

14
humanize
humanize fzerorubigd Go

ast representation of go package, in human :) friendly form

14
pprintast
pprintast clarketm Python

An AST pretty printer for Python 🐍

14
Pangoro
Pangoro utybo Kotlin

A Kotlin parser framework with an easy-to-use DSL

14
jarlang
jarlang vereis Erlang

Erlang compiler which outputs ES6 spec JavaScript

13
BeC---compiler
BeC---compiler yangzebin001 C++
13
Rattata
Rattata Azard Scala

:satisfied: Scala Abstract Syntax Tree(AST) pretty print tool

13
saul
saul yoland68 Python

Tool to use a parsed AST to understand its tokens and regenerate code, tool usage is bound by developer-client privelidge, better call saul.py! :+1::t...

13
ex_ast
ex_ast dannote Elixir

Search and replace Elixir code by AST pattern

13
airfly
airfly ryanchao2012 Python

Auto Generate Airflow's dag.py On The Fly

13
sgp
sgp OpenZeppelin Python

Solidity ANTLR4 grammar Python parser

13
nomik
nomik willFreed1 TypeScript

Nomik is an AI-native code intelligence graph. It transforms your codebase into Neo4j and connects directly to AI agents via MCP.

13
sphinx-ext-mystmd
sphinx-ext-mystmd jupyter-book Python

Integrate existing Sphinx projects with MyST-MD

13
mapcss
mapcss TomokiMiyauci TypeScript

Tiny, composable Atomic CSS engine

13
twig-ast
twig-ast ambassify JavaScript

Parses Twig templates into an AST

13
security-ci-cd-pipelines
security-ci-cd-pipelines esidate

A bunch of security CI/CD pipelines cooked and ready

13
yaml-ast
yaml-ast kavon Python

visualize an AST serialized as YAML

13
esgrep
esgrep ninofiliu TypeScript

Syntactically-aware grep for JavaScript and TypeScript

13
transform-ast
transform-ast goto-bus-stop JavaScript

transform an AST with source maps

13
astree
astree knsh14 Go

tree command for Go AST

13
lox
lox ehomrich Python

A Python implementation of the Lox language, from the book Crafting Interpreters by Bob Nystrom

13