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)

SoliDiffy
SoliDiffy mojtaba-eshghie Jupyter Notebook

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

21
parsers-compilers
parsers-compilers begin

Lexers, tokenizers, parsers, compilers, renderers, stringifiers... What's the difference, and how do they work?

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

Transform html with helpers for manipulating an AST

21
ninny-json
ninny-json nrktkt HTML

JSON typeclasses that know the difference between null and absent fields

21
LMOtelFY
LMOtelFY alexrios Go

Automagically insert Open Telemetry spans in your codebase.

21
goastch
goastch helloyi Go

golang AST matcher

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

Syntax tree visualizer for tree-sitter

21
nfp
nfp xuri Go

Go Language Microsoft Excel™ Number Format Parser

21
ESpression
ESpression ianchi TypeScript

ECMAScript Expressions parser and static eval

21
async2rewrite
async2rewrite tylergibbs2 Python

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

20
phpdoc-parser
phpdoc-parser RightCapitalHQ TypeScript

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

20
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...

20
lilt
lilt Quelklef Nim

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

20
esshorten
esshorten estools JavaScript

Shorten (mangle) names in JavaScript code

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

TypeScript AST transformer to resolve type aliases into fully formed interfaces

20
yastjson
yastjson zhuyingda JavaScript

yet another fast json.

20
astcopy
astcopy go-toolsmith Go

Package astcopy implements Go AST deep copy operations.

20
oracle-sql-parser
oracle-sql-parser sjjian Yacc

this is a yacc (goyacc) oracle sql parser.

20
LuaPro
LuaPro vurvdev Lua

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

20
struct2interface
struct2interface reflog Go

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

20
parser
parser edge-js TypeScript

Parser for edge template engine

20
MwParserFromScratch
MwParserFromScratch CXuesong C#

A basic .NET Library for parsing wikitext into AST.

20
compiler
compiler xp-framework PHP

Compiles future PHP to today's PHP.

20
rubocop-sorted_methods_by_call
rubocop-sorted_methods_by_call unurgunite Ruby

RuboCop extension for method sorting according to call order.

19
wx2bd
wx2bd xujie-phper

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

19
codeql-development-mcp-server
codeql-development-mcp-server advanced-security TypeScript

LLM <-- MCP --> CodeQL( AST | CFG | CLI | LSP )

19
dedupimport
dedupimport nishanths Go

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

19
astdot
astdot true-grue Python

Simple Python AST visualizer

19
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...

19
js-ast
js-ast xeho91 TypeScript

Do some fun with AST, using JavaScript.

19
sdk
sdk codeconverter C#

SDK for CodeConverter.net

19
venusscript
venusscript JoaaoVerona Java

A dynamic, interpreted, scripting language written in Java.

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

Dive into AST(Abstract Syntax Tree) in JavaScript.

19
rector-cakephp
rector-cakephp deprecated-packages PHP

[DEPRECATED] Use following package instead

19
go2proto
go2proto akkagao Go

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

19
markdown-tree-parser
markdown-tree-parser ysugimoto JavaScript

Parse markdown string to Abstract Syntax Tree which we defined.

19
macschema
macschema progrium Go

Toolchain for generating JSON definitions of Apple APIs

19
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.

19
goldmark-markdown
goldmark-markdown teekennedy Go

Goldmark extension that renders and formats markdown files

19
iroun
iroun pistis JavaScript

Name analyzer written in Javascript

18
solidity-antlr4
solidity-antlr4 jeasonstudio TypeScript

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

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
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
ini
ini wlevene Go

ini parser for golang

18
astrologic
astrologic pomponchik Python

Автоматическая оптимизация кода на уровне AST

18
Tea-Sitter
Tea-Sitter tokyRT TypeScript

An AST explorer web app for C using Tree Sitter

18
jarvis
jarvis rajasegar JavaScript

JARVIS - Write me a codemod

18
CoLI
CoLI gridaco TypeScript

Computer Language Interface. A Code builder (json, jsx, js, ts, dart, css, xml, html, python) AST Builder / Parser

18
magic-tree
magic-tree braintripping Clojure

whitespace-aware Clojure source code manipulation.

18
axtor
axtor cdl-saarland C++

AST - Extractor for LLVM

18