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

ast-transpiler
ast-transpiler carlosmiei TypeScript

AST Transpiler that converts Typescript into different languages (PHP, Python, C# (wip))

21
goldmark-markdown
goldmark-markdown teekennedy Go

Goldmark extension that renders and formats markdown files

21
parsers
parsers TrialAndErrorOrg TypeScript

Monorepo for a suite of `unified`-compatible converters for converting between, from, and to .docx, JATS XML, LaTeX, and PDF

21
ninny-json
ninny-json nrktkt HTML

JSON typeclasses that know the difference between null and absent fields

21
tree-sitter-syntax-visualizer
tree-sitter-syntax-visualizer Xapphire13 TypeScript

Syntax tree visualizer for tree-sitter

21
ESpression
ESpression ianchi TypeScript

ECMAScript Expressions parser and static eval

21
LuaPro
LuaPro vurvdev Lua

Lua AST toolkit for formatting, deobfuscating*, and tweaking code, in pure lua.

21
html-ast-transform
html-ast-transform jspaine TypeScript

Transform html with helpers for manipulating an AST

21
SoliDiffy
SoliDiffy mojtaba-eshghie Jupyter Notebook

SoliDiffy: AST-Based Code Differencing Tool for Solidity Smart Contracts

21
headwind-monorepo
headwind-monorepo Dilettante258 Rust

Headwind parses Tailwind utility classes from JSX/TSX/HTML source code, replaces them with generated semantic class names, and outputs corresponding C...

21
phpdoc-parser
phpdoc-parser RightCapitalHQ TypeScript

Next-gen PHPDoc parser with support for intersection types and generics(TypeScript version)

21
infimium-agent
infimium-agent infimium-ai TypeScript

Infimium Builds Cross-IDE Persistent, project-aware coding session memory that works across Claude Code, Cursor, and Windsurf simultaneously.

21
vebgen
vebgen vebgenofficial Python

🤖 World's first AST-powered AI development agent | Autonomous Django/Flask builder | Zero-token intelligence | Military-grade sandbox | Made in India...

21
parser
parser edge-js TypeScript

Parser for edge template engine

20
LMOtelFY
LMOtelFY alexrios Go

Automagically insert Open Telemetry spans in your codebase.

20
MwParserFromScratch
MwParserFromScratch CXuesong C#

A basic .NET Library for parsing wikitext into AST.

20
goastch
goastch helloyi Go

golang AST matcher

20
js-ast
js-ast xeho91 TypeScript

Do some fun with AST, using JavaScript.

20
async2rewrite
async2rewrite tylergibbs2 Python

Automagically converts discord.py async-branch code to rewrite-branch code.

20
avouch
avouch mukundzha Python

Review the Python you changed, not the Python you inherited. Git-aware AST code review that runs in the seconds before git push.

20
esshorten
esshorten estools JavaScript

Shorten (mangle) names in JavaScript code

20
struct2interface
struct2interface reflog Go

CLI Tool to extract an Interface from a Golang struct using AST

20
venusscript
venusscript JoaaoVerona Java

A dynamic, interpreted, scripting language written in Java.

20
astcopy
astcopy go-toolsmith Go

Package astcopy implements Go AST deep copy operations.

20
snapdragon-util
snapdragon-util here-be JavaScript

Utilities for the snapdragon parser/compiler.

20
ts-alias-transformer
ts-alias-transformer ksaldana1 TypeScript

TypeScript AST transformer to resolve type aliases into fully formed interfaces

20
syn-file-expand
syn-file-expand vi Rust

Rust library to scan files and expand (make modules inline) multi-file crates source code as a single tree.

20
yastjson
yastjson zhuyingda JavaScript

yet another fast json.

20
Firethorn
Firethorn iwillspeak F#

Implementation of Red / Green syntax trees. Inspired by Rowan

20
markdown-tree-parser
markdown-tree-parser ysugimoto JavaScript

Parse markdown string to Abstract Syntax Tree which we defined.

19
hypergrep
hypergrep marjoballabani Rust

A better grep for AI agents. Structural search, call graphs, impact analysis, semantic compression. 87% fewer tokens. 16 languages. Built in Rust.

19
go2proto
go2proto akkagao Go

根据Golang定义的接口生成proto文件

19
astdot
astdot true-grue Python

Simple Python AST visualizer

19
wx2bd
wx2bd xujie-phper

微信和百度小程序的互转工具,脚本转换率目标为100%,持续更新中~~

19
dedupimport
dedupimport nishanths Go

Deduplicate named and unnamed imports of the same import path in Go files

19
lilt
lilt Quelklef Nim

LILT: noun, A characteristic rising and falling of the voice when speaking; a pleasant gentle accent.

19
sdk
sdk codeconverter C#

SDK for CodeConverter.net

19
js-ast-hash
js-ast-hash azu JavaScript

Output hash value of JavaScript AST.

19
dive-into-ast
dive-into-ast azu

Dive into AST(Abstract Syntax Tree) in JavaScript.

19
macschema
macschema progrium Go

Toolchain for generating JSON definitions of Apple APIs

19
ktcodeshift
ktcodeshift orangain Kotlin

Toolkit for running codemods over multiple Kotlin files inspired by jscodeshift.

19
rector-cakephp
rector-cakephp deprecated-packages PHP

[DEPRECATED] Use following package instead

19
tst-expression
tst-expression Hookyns TypeScript

Expression trees for TypeScript similar to C#. Expression trees represent code in a tree-like data structure, where each node is an expression, for ex...

18
structuredmerge-spec
structuredmerge-spec structuredmerge Python

☯️ Specifications for the StructuredMerge contract; Draft RFCs for merge ruleset vocabulary

18
py-models-parser
py-models-parser xnuinside Python

Static Python models parser that extracts ORM, Pydantic, and dataclass models into a unified structure (no code execution).

18
structuredmerge-ruby
structuredmerge-ruby structuredmerge HTML

☯️ Ruby implementation of the StructuredMerge contract

18
mutates
mutates IKatsuba TypeScript

Still afraid to do something with AST? Mutates the AST, not your brain.

18
solidity-antlr4
solidity-antlr4 jeasonstudio TypeScript

✨ Solidity Language Lexer and Parser, generated by official ANTLR4 grammar.

18
ini
ini wlevene Go

ini parser for golang

18
Tea-Sitter
Tea-Sitter tokyRT TypeScript

An AST explorer web app for C using Tree Sitter

18