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

nfp
nfp xuri Go

Go Language Microsoft Excel™ Number Format Parser

21
parsers-compilers
parsers-compilers begin

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

21
LMOtelFY
LMOtelFY alexrios Go

Automagically insert Open Telemetry spans in your codebase.

21
ninny-json
ninny-json nrktkt HTML

JSON typeclasses that know the difference between null and absent fields

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

Transform html with helpers for manipulating an AST

21
ast-transpiler
ast-transpiler carlosmiei TypeScript

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

21
SoliDiffy
SoliDiffy mojtaba-eshghie Jupyter Notebook

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

21
struct2interface
struct2interface reflog Go

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

20
compiler
compiler xp-framework PHP

Compiles future PHP to today's PHP.

20
async2rewrite
async2rewrite tylergibbs2 Python

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

20
parser
parser edge-js TypeScript

Parser for edge template engine

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

this is a yacc (goyacc) oracle sql parser.

20
MwParserFromScratch
MwParserFromScratch CXuesong C#

A basic .NET Library for parsing wikitext into AST.

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
yastjson
yastjson zhuyingda JavaScript

yet another fast json.

20
astcopy
astcopy go-toolsmith Go

Package astcopy implements Go AST deep copy operations.

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
goastch
goastch helloyi Go

golang AST matcher

20
phpdoc-parser
phpdoc-parser RightCapitalHQ TypeScript

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

20
LuaPro
LuaPro vurvdev Lua

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

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

TypeScript AST transformer to resolve type aliases into fully formed interfaces

20
rubocop-sorted_methods_by_call
rubocop-sorted_methods_by_call unurgunite Ruby

RuboCop extension for method sorting according to call order.

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

Parse markdown string to Abstract Syntax Tree which we defined.

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
wx2bd
wx2bd xujie-phper

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

19
dedupimport
dedupimport nishanths Go

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

19
sdk
sdk codeconverter C#

SDK for CodeConverter.net

19
venusscript
venusscript JoaaoVerona Java

A dynamic, interpreted, scripting language written in Java.

19
goldmark-markdown
goldmark-markdown teekennedy Go

Goldmark extension that renders and formats markdown files

19
go2proto
go2proto akkagao Go

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

19
rector-cakephp
rector-cakephp deprecated-packages PHP

[DEPRECATED] Use following package instead

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

Dive into AST(Abstract Syntax Tree) in JavaScript.

19
effect-oxlint
effect-oxlint mpsuesser TypeScript

Write oxlint custom lint rules with Effect v4

19
js-ast
js-ast xeho91 TypeScript

Do some fun with AST, using JavaScript.

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
astdot
astdot true-grue Python

Simple Python AST visualizer

19
macschema
macschema progrium Go

Toolchain for generating JSON definitions of Apple APIs

19
ts-iqueryable
ts-iqueryable WimJongeneel TypeScript

Expressions and IQueryables in TypeScript

18
astutils
astutils johnyf Python

Bare essentials for building abstract syntax trees, and skeleton classes for PLY lexers and parsers.

18
axtor
axtor cdl-saarland C++

AST - Extractor for LLVM

18
astrologic
astrologic pomponchik Python

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

18
jscodeshift-collections
jscodeshift-collections rajasegar JavaScript

Collections for some AST nodes in jscodeshift

18
magic-tree
magic-tree braintripping Clojure

whitespace-aware Clojure source code manipulation.

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
ktcodeshift
ktcodeshift orangain Kotlin

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

18
snapdragon-util
snapdragon-util here-be JavaScript

Utilities for the snapdragon parser/compiler.

18
js-ast-hash
js-ast-hash azu JavaScript

Output hash value of JavaScript AST.

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