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

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

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

49
pg-builder
pg-builder sad-spirit PHP

Query builder for Postgres backed by SQL parser

48
gomambojambo
gomambojambo q6r Go

Golang AST Obfuscation

48
retidy
retidy Xmader TypeScript

Extract, unminify, and beautify ("retidy") each file from a webpack/parcel bundle (JavaScript reverse engineering)

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

使用 babel 进行 AST 分析和处理

45
graphql-factory
graphql-factory graphql-factory JavaScript

A toolkit for building GraphQL

45
brenda
brenda dave Go

Brenda is a boolean expression solver for Go AST

45
node-source-walk
node-source-walk dependents JavaScript

Execute a callback on every node of a source code's AST and stop walking whenever you see fit.

45
lisperanto
lisperanto uprun JavaScript

Lisperanto is a spatial canvas for programming; Lisperanto is a spatial canvas for knowledge; Lisperanto is a spatial canvas for ideas;

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
prettierrc
prettierrc obartra JavaScript

🗄️ 💅 config file for prettier

44
pyc-cfg
pyc-cfg shramos Python

Pyc-cfg is a pure python control flow graph builder for almost all Ansi C programming language.

44
php2python
php2python nicolasrod Python

Convert PHP code to Python under CGI (beta)

44
Antlr4Ast
Antlr4Ast xoofx C#

Antlr4Ast is a .NET library that provides a parser and abstract syntax tree (AST) for ANTLR4/g4 files.

44
rector-phpunit
rector-phpunit rectorphp PHP

Rector upgrade rules for PHPUnit

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

44
lowcode
lowcode iteria-app JavaScript

React Lowcode - prototype, develop and maintain internal apps easier

42
gct
gct QasimWani Python

Graphical Code Tracer (GCT): Visualize code at lightning speed

42
rector-doctrine
rector-doctrine rectorphp PHP

Rector upgrade rules for Doctrine

42
apidom
apidom swagger-api TypeScript

Semantic parser for API specifications

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
bredon
bredon robinweser JavaScript

A modern CSS value compiler in JavaScript

41
subpy
subpy sdiehl Python

Python subsets

41
styn
styn renatorib TypeScript

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

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.

40
protobuf-thrift
protobuf-thrift YYCoder Go

protobuf idl to thrift, and vice versa

40
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).

40
ts-emitter
ts-emitter KnisterPeter TypeScript

Emitting typescript AST back to typescript

39
ast-viewer
ast-viewer caroso1222 TypeScript

🕺TypeScript AST Viewer

39
markdown-ast
markdown-ast aleclarson JavaScript

Tiny markdown parser

39
ph-javacc-maven-plugin
ph-javacc-maven-plugin tulipcc Java

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

38
TypeScriptAST
TypeScriptAST ToCSharp C#

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

38
dioscuri
dioscuri wooorm JavaScript

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

38
DoubleX
DoubleX Aurore54F Python

Statically Detecting Vulnerable Data Flows in Browser Extensions at Scale

38
parse-function
parse-function tunnckoCore JavaScript

(!! moved to tunnckoCore/opensource multi-package repository !!) :trident: Parse a function into an object using espree, acorn or babylon parsers. Ext...

37
go-parser
go-parser tuqqu PHP

Golang parser written in PHP 8.1

37
tsquery-playground
tsquery-playground urish TypeScript

Playground for TSQuery

37
vscode-ast
vscode-ast vscode-box TypeScript

Show JavaScript / TypeScript Abstract Syntax Tree

36
node-detective-es6
node-detective-es6 dependents JavaScript

Get the dependencies of an ES6 module by traversing its AST

35
esast
esast syntax-tree

ECMAScript Abstract Syntax Tree format

35
nast
nast dragonman225 TypeScript

A block-based intermediate representation for document-like content.

35
estree-to-babel
estree-to-babel coderaiser JavaScript

convert estree ast to babel

35
eslint-plugin-require-sort
eslint-plugin-require-sort zcuric JavaScript

ESlint plugin for sorting requires (CommonJS modules) alphabetically

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

34
gradle2kts
gradle2kts gradle Kotlin

Gradle Groovy to Gradle Kotlin conversion tool - discontinued spike

34
vue2any
vue2any surmon-china JavaScript

把 vue 组件转换为任何 web 类模板

33
aws-sdk-js-codemod
aws-sdk-js-codemod awslabs TypeScript

Codemod scripts to update AWS SDK for JavaScript APIs.

33
bluelox
bluelox nanmu42 Go

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

33