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)

dockerfile-ast
dockerfile-ast rcjsuen TypeScript

An npm module for parsing Dockerfiles powered by TypeScript.

51
tree-sitter-analyzer
tree-sitter-analyzer aimasteracc Python

Cross-language-safe code-intelligence MCP for AI agents: 13 languages, family-gated call graph, blast radius, health grading, 8 facade tools, JSON env...

50
rich-text-vista
rich-text-vista larksuite TypeScript

RichTextVista is a high-performance, extensible rich text component designed for HarmonyOS applications, supporting diverse rich text styling capabili...

50
JavaParser-AST-Inspector
JavaParser-AST-Inspector MysterAitch Java

Using JavaParser (https://github.com/JavaParser/JavaParser), browse and navigate the Abstract Syntax Tree (AST) based on the code in your editor.

50
ddless-engine
ddless-engine behindSolution PHP

PHP debug engine that works without extensions AST instrumentation + file-based IPC. Powers DDLess.

49
ast-comments
ast-comments t3rn0 Python

Extension to the built-in ast module. Finds comments in source code and adds them to the parsed tree.

49
lowcode
lowcode iteria-app JavaScript

React Lowcode - prototype, develop and maintain internal apps easier

49
gomambojambo
gomambojambo q6r Go

Golang AST Obfuscation

48
Hive_SQL_AST
Hive_SQL_AST lulumengyi Java

利用Druid SQL Parser解析HiveSQL日志,自动构建字段级别的血缘关系及主外键的自动抽取

47
ast-explorer-helper
ast-explorer-helper JSREI TypeScript

ast explorer助手,优化分析程序结构时的体验,提升逆向还原代码编写效率

47
gogrep
gogrep quasilyte Go

Syntax-aware Go code search, based on the mvdan/gogrep

47
babel-plugin-ast
babel-plugin-ast barretlee JavaScript

使用 babel 进行 AST 分析和处理

46
brenda
brenda dave Go

Brenda is a boolean expression solver for Go AST

46
sipcode
sipcode Anuj7411 TypeScript

Keep Claude Code context clean. Open-source toolkit: drift detection, re-read dedup, integrity scoring, AST-aware reads, 15 MCP tools. 62.6% measured...

46
lombok-ex
lombok-ex houbb Java

Java compile time annotation, lombok extension framework.(java 编译时注解框架,对 lombok 进行扩展)

46
pyre-ast
pyre-ast grievejia OCaml

pyre-ast is an OCaml library to parse Python files. The library features its full-fidelity to the official Python spec, as well as its adoption of ta...

46
ast-outline
ast-outline ast-outline Python

ast-outline lets AI coding agents pull exactly the code context they need — a repo skeleton, a file outline, or one symbol — instead of reading whole...

46
prettierrc
prettierrc obartra JavaScript

🗄️ 💅 config file for prettier

45
phpast.com
phpast.com ryangjchandler PHP

A web tool to explore the ASTs generated by PHP-Parser.

45
php-ast-viewer
php-ast-viewer RightCapitalHQ TypeScript

The PHP AST Viewer is a tool for viewing the Abstract Syntax Tree of PHP code. By visualizing the structure, it helps developers gain a deeper underst...

45
bluelox
bluelox nanmu42 Go

A tree-walking interpreter implemented in Golang for Lox, with a browser playground supported by WASM | 一个基于语法树的Lox解释器,附带WASM版本的playg...

45
Lyspen
Lyspen uprun JavaScript

Lyspen (previously Lisperanto) is an AST structured editor.

45
ts-transform-react-constant-elements
ts-transform-react-constant-elements dropbox TypeScript

A TypeScript AST Transformer that can speed up reconciliation and reduce garbage collection pressure by hoisting React elements to the highest possibl...

44
astnorm
astnorm quasilyte Go

AST normalization experiment

44
php2python
php2python nicolasrod Python

Convert PHP code to Python under CGI (beta)

44
tsquery-playground
tsquery-playground urish TypeScript

Playground for TSQuery

44
showsignature
showsignature FredySandoval TypeScript

A CLI that extracts the useful structure from source files: signatures, imports, types, variables, comments, and Markdown sections.

44
graphql-factory
graphql-factory graphql-factory JavaScript

A toolkit for building GraphQL

43
tulipcc-maven-plugin
tulipcc-maven-plugin tulipcc Java

An updated version of the javacc-maven-plugin using ParserGeneratorCC

43
TypeScriptAST
TypeScriptAST ToCSharp C#

.NET port of Microsoft's TypeScript parser for simple AST manipulation

43
dioscuri
dioscuri wooorm JavaScript

A gemtext (`text/gemini`) parser with support for streaming, ASTs, and CSTs

43
zshellcheck
zshellcheck afadesigns Go

Static analysis and auto-fix for the setopts, hooks, and globs Bash never learned.

43
go-parser
go-parser tuqqu PHP

Golang parser written in PHP

43
telescope-ast-grep.nvim
telescope-ast-grep.nvim ray-x Lua

AST grep extension for telescope.nvim

43
bredon
bredon robinweser JavaScript

A modern CSS value compiler in JavaScript

42
styn
styn renatorib TypeScript

:gem: A small, zero-dependency, extensible, object to css generator

42
CastXMLSuperbuild
CastXMLSuperbuild CastXML CMake

Build CastXML and its dependencies (LLVM/Clang)

42
asmdot
asmdot 71 Rust

[Unstable] Fast, zero-copy and lightweight (Arm | Mips | x86) assembler in (C | C++ | C# | Go | Haskell | Javascript | Nim | OCaml | Python | Rust).

42
panpipe
panpipe marcelotto Elixir

An Elixir wrapper around Pandoc

42
effect-oxlint
effect-oxlint mpsuesser TypeScript

Write oxlint custom lint rules with Effect v4

42
markdown-ast
markdown-ast aleclarson JavaScript

Tiny markdown parser

42
tiny-compiler
tiny-compiler dborchard Java

Tiny Compiler in plain Java. Covers examples for AST, JDT, ANTLR & JavaParser

42
peginator
peginator badicsalex Rust

PEG parser generator for creating ASTs in Rust

42
grunt-amdcheck
grunt-amdcheck mahdi-shojaee JavaScript

Uses AST to find and remove unused dependencies in AMD modules.

41
graphql2ts
graphql2ts sibelius TypeScript

Transform .graphql to graphql-js typescript

41
subpy
subpy sdiehl Python

Python subsets

41
json-asty
json-asty rse JavaScript

Lossless JSON-to-AST Parser and AST-to-JSON Generator

41
filter-parser
filter-parser scim2 Go

SCIM v2 Query Filter Parser in Go

41
pyastrx
pyastrx pyastrx Python

The PyASTrX philosophy is to provide a simple, easy-to-use, and extensible framework for code quality analysis, refactoring and codebase analysis.

41
1c-language-parser
1c-language-parser LazarenkoA Go

Парсер языка 1С (bsl) посредством yacc грамматик. Парсер строит AST

40