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

deco
deco vic Elixir

Minimalist Function Decorators for Elixir

23
pi-ast-grep
pi-ast-grep code-yeongyu TypeScript

AST-aware code search and rewrite for the pi coding agent. Faithful port of the ast-grep tools from oh-my-openagent.

23
ARCLUX
ARCLUX GSF-001 TypeScript

Codebase intelligence platform — parse 27 languages, build dependency/call graphs, trace impact, run 20 architecture detectors, enforce framework conv...

22
LebJS
LebJS LebsterFace Java

My attempt at a JavaScript engine

22
EntropyAudit
EntropyAudit adroamccullinp Python

Static auditor for randomness and nonce hygiene in Python source - flags weak PRNGs, hardcoded keys, reused counters, static IVs, short salts. CWE-330...

22
EntropyAudit
EntropyAudit chuangtian Python

Static auditor for randomness and nonce hygiene in Python source - six rules for seeds, nonces, salts and weak hashes, each finding with a written rat...

22
parsers-compilers
parsers-compilers begin

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

22
codemod-utils
codemod-utils ijlee2 TypeScript

Framework for writing codemods

22
ctxexp-parser
ctxexp-parser Lydanne JavaScript

In the dynamic execution of JS language environment (wechat applet) to execute JS class calling function.

22
xgo
xgo Kretech Go

Go Components

22
jsdast
jsdast geut JavaScript

JSDoc Abstract Syntax Tree

22
AST2DB
AST2DB NarendraYSF C++

AST2DB is a powerful tool that utilizes clang to parse C/C++ source code, extract Abstract Syntax Tree (AST) information, and store it in an SQLite da...

22
vivix
vivix HenryOnilude Svelte

See inside JavaScript as it thinks instruction-level visualizer for the call stack, heap memory and event loop in real time.

22
trialanderror
trialanderror TrialAndErrorOrg TypeScript

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

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

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

Transform html with helpers for manipulating an AST

21
snapdragon-util
snapdragon-util here-be JavaScript

Utilities for the snapdragon parser/compiler.

21
phpflow
phpflow patryyyck PHP

Static flow analyzer for PHP applications — trace routes through messages, services, database effects and external HTTP calls without running the app.

21
ast-transpiler
ast-transpiler carlosmiei TypeScript

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

21
LuaPro
LuaPro vurvdev Lua

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

21
venusscript
venusscript JoaaoVerona Java

A dynamic, interpreted, scripting language written in Java.

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
oracle-sql-parser
oracle-sql-parser sjjian Yacc

this is a yacc (goyacc) oracle sql parser.

21
goldmark-markdown
goldmark-markdown teekennedy Go

Goldmark extension that renders and formats markdown files

21
SoliDiffy
SoliDiffy mojtaba-eshghie Jupyter Notebook

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

21
phpdoc-parser
phpdoc-parser RightCapitalHQ TypeScript

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

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
ts-alias-transformer
ts-alias-transformer ksaldana1 TypeScript

TypeScript AST transformer to resolve type aliases into fully formed interfaces

20
struct2interface
struct2interface reflog Go

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

20
LMOtelFY
LMOtelFY alexrios Go

Automagically insert Open Telemetry spans in your codebase.

20
yastjson
yastjson zhuyingda JavaScript

yet another fast json.

20
esshorten
esshorten estools JavaScript

Shorten (mangle) names in JavaScript code

20
ESpression
ESpression ianchi TypeScript

ECMAScript Expressions parser and static eval

20
astcopy
astcopy go-toolsmith Go

Package astcopy implements Go AST deep copy operations.

20
goastch
goastch helloyi Go

golang AST matcher

20
async2rewrite
async2rewrite tylergibbs2 Python

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

20
Firethorn
Firethorn iwillspeak F#

Implementation of Red / Green syntax trees. Inspired by Rowan

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
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
js-ast
js-ast xeho91 TypeScript

Do some fun with AST, using JavaScript.

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
Zith-Lang
Zith-Lang GalaxyHaze C++

Zith is a new system programming languages focused on expressiveness & readability

20
structuredmerge-ruby
structuredmerge-ruby structuredmerge HTML

☯️ Ruby implementation of the StructuredMerge contract

19
ktcodeshift
ktcodeshift orangain Kotlin

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

19
macschema
macschema progrium Go

Toolchain for generating JSON definitions of Apple APIs

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

Parse markdown string to Abstract Syntax Tree which we defined.

19
rector-cakephp
rector-cakephp deprecated-packages PHP

[DEPRECATED] Use following package instead

19
go2proto
go2proto akkagao Go

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

19