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)

ng-morph
ng-morph taiga-family TypeScript

Code mutations in your project or schematics were never easier than now.

159
acorn-typescript
acorn-typescript TyrealHu TypeScript

Alternative, TypeScript parser

155
codeparser
codeparser WolframResearch Wolfram Language

Parse Wolfram Language source code as abstract syntax trees (ASTs) or concrete syntax trees (CSTs)

153
math-engine
math-engine dengsgo Go

Mathematical expression parsing and calculation engine library. 数学表达式解析计算引擎库

152
nativejsx
nativejsx treycordova JavaScript

JSX to native DOM API transpilation. :yellow_heart: <div> ⟹ document.createElement('div')!

152
FreeTensor
FreeTensor roastduck C++

A language and compiler for irregular tensor programs.

152
node-typescript-parser
node-typescript-parser buehler TypeScript

Parser for typescript (and javascript) files, that compiles those files and generates a human understandable AST.

150
subscript
subscript dy JavaScript

Expression parser / evaluator.

147
nativejsx
nativejsx treycordova JavaScript

JSX to native DOM API transpilation. :yellow_heart: <div> ⟹ document.createElement('div')!

146
pyast64
pyast64 benhoyt Python

Compile a subset of the Python AST to x64-64 assembler

145
learn-javascript
learn-javascript cheogo

《前端基础漫游指南》深入的、系统的学习 javascript 基础,喜欢点 Star

143
yaep
yaep vnmakarov SWIG

Yet Another Earley Parser

143
c-compiler
c-compiler AnjaneyaTripathi Yacc

A compiler that accepts any valid program written in C. It is made using Lex and Yacc. Returns a symbol table, parse tree, annotated syntax tree and i...

143
py-lua-parser
py-lua-parser boolangery Python

A Lua parser and AST builder written in Python.

142
ast
ast kotlinx Java

Generic AST parsing library for kotlin multiplatform

141
ml
ml src-d Python

sourced.ml is a library and command line tools to build and apply machine learning models on top of Universal Abstract Syntax Trees

141
polarify
polarify Quantco Python

Simplifying conditional Polars Expressions with Python 🐍 🐻‍❄️

140
pasta
pasta trailofbits C++

Peter's Amazing Syntax Tree Analyzer

137
solc-typed-ast
solc-typed-ast ConsenSysDiligence TypeScript

A TypeScript package providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipul...

135
SPATool
SPATool SummerSec Java

静态程序分析工具 主要生成方法的CFG和.java文件的AST

134
tanu.js
tanu.js ariesclark TypeScript

An oversimplification of the TypeScript Compiler API for defining and generating source files.

134
efp
efp xuri Go

Go Language Microsoft Excel™ Formula Parser

132
rubocop-ast
rubocop-ast rubocop Ruby

RuboCop's AST extensions and NodePattern functionality

132
ast-pretty-print
ast-pretty-print babel-utils JavaScript

A pretty printer for AST-like structures

131
metacode
metacode mutating Python

A standard language for machine-readable code comments

131
ai-code-decompile
ai-code-decompile zhongguagua TypeScript

🚀 AI-powered JavaScript Decompiler & Deobfuscator. 基于 AI 与 AST 的 JS 代码分析与混淆还原工具,把不可读的构建产物变成人能看懂的代码。

131
tree-hugger
tree-hugger autosoft-dev Python

A light-weight, extendable, high level, universal code parser built on top of tree-sitter

130
ts-transform-import-path-rewrite
ts-transform-import-path-rewrite dropbox TypeScript

TS AST transformer to rewrite import path

129
box-extractor
box-extractor astahmer TypeScript

Static code extraction. Zero-runtime CSS-in-TS `<Box />` -> became a part of Panda CSS

128
i-pascal
i-pascal casteng Java

A free Object Pascal language plugin for IntelliJ IDEA

125
LSTS
LSTS Lambda-Mountain-Compiler-Backend

Large Scale Type Systems: ML/C Hybrid Programming Language

125
Supplementary-AST-Based-Deobfuscation-Materials
Supplementary-AST-Based-Deobfuscation-Materials SteakEnthusiast JavaScript

Supplementary deobfuscator source code from my Javascript reverse-engineering blog, ReverseJS.

124
Ebyte-Go-Morpher
Ebyte-Go-Morpher KiExitDispatcher Go

Ebyte-Go-Morpher is a Go program that parses, analyzes, and rewrites Go source code to apply multiple layers of obfuscation. It operates directly on t...

124
esutils
esutils estools CoffeeScript

utility box for ECMAScript language tools

123
gm-exec
gm-exec AnEntrypoint JavaScript

wanna develop an app ❓

123
mulang
mulang mumuki Haskell

:bamboo: Universal, Multi Language, Multi Paradigm code analyzer

123
performance-decorator
performance-decorator Wscats

🏇User behavior & Function execution tracking solution - 大型前端项目的用户行为跟踪,函数调用链分析,断点调试共享化和复用化实践

123
yacep
yacep tupac-amaru C#

yet another csharp expression parser

122
go2ast
go2ast reflog Go

Transform Go code into it's AST

122
gorm2sql
gorm2sql liudanking Go

auto generate sql from gorm model struct

121
libdparse
libdparse dlang-community D

Library for lexing and parsing D source code

121
astmaker
astmaker linkdd Rust

Build Abstract Syntax Trees and tree-walking models quickly in Rust.

121
astexplorer.app
astexplorer.app JamieMason TypeScript

An https://astexplorer.net wrapper which adds module bundling and hot reloading.

121
flutter_ast
flutter_ast rodydavis Dart

Flutter and Dart AST Analyzer/Parser

121
starlasu-kotlin
starlasu-kotlin Strumenta Kotlin

Starlasu - A Language Engineering Framework

120
hlb
hlb openllb Go

A developer-first language to build and test any software efficiently

118
swift-mod
swift-mod ra1028 Swift

A tool for Swift code modification intermediating between code generation and formatting.

115
deno_swc
deno_swc littledivy JavaScript

The SWC compiler for Deno.

115
cybermonday
cybermonday kiranshila Clojure

Markdown as Clojure Data

114
abstract-syntax-tree
abstract-syntax-tree buxlabs JavaScript

A library for working with abstract syntax trees.

114