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)

gherkin-ast
gherkin-ast gherking TypeScript

JS model for Gherkin feature files to build and work with feature files in your code, using an AST.

8
iamfast-vscode
iamfast-vscode iann0036 TypeScript

AWS IAM policy generation from application code in VS Code

8
tailslide
tailslide SaladDais LSL

(Unmaintained) Embeddable parser, AST, tree walker and compiler for the Linden Scripting Language based on LSLint

8
glox
glox iamsayantan Go

Golang implementation for the Lox language from the book Crafting Interpreters (http://craftinginterpreters.com/).

8
solidity-testfiles
solidity-testfiles sambacha Solidity

contracts for testing parsing and ast transforms for solidity

8
CoolCompiler
CoolCompiler laolarou726 C++

Stanford CS1/CS143 Compilers Course Project for COOL (Classroom Object-Oriented Language) in C++ using LLVM backend

8
type2md
type2md eleztian Go

golang struct type to markdown table

8
oracle-sql-parser
oracle-sql-parser 1ilit PEG.js

Spec compliant SQL parser and AST explorer for Oracle

8
ouro
ouro abdelrahman0w Python

ouro is a Python package that checks your code for circular (cyclic) imports.

8
pingul
pingul aziflaj Go

An Interpreted Programming Language written in Go

8
repo-map.nvim
repo-map.nvim mrloop Lua

Create repo map in nvim for use with LLM providing concise data for context window.

8
hast-util-from-lezer
hast-util-from-lezer joeltg TypeScript

Render styled Lezer syntax trees to hast

8
estree-walker-ts
estree-walker-ts baiwusanyu-c TypeScript

🥑 Simple utility for walking an ESTree-compliant AST, such as one generated by acorn.

8
php-parser
php-parser wudi Rust

A fast PHP parser written in Rust

8
J5afe
J5afe Lexterl33t JavaScript

Library to set breakpoint into the node of javascript code

8
ruast
ruast mtshiba Rust

Printable & modifiable Rust AST

8
cortex-ast
cortex-ast cortex-works Rust

A powerful Model Context Protocol (MCP) server and Omni-AST engine. It empowers AI agents to seamlessly parse complex codebases, execute secure cross-...

8
muad-dib
muad-dib DNSZLSK JavaScript

Real-time npm/PyPI supply-chain threat detection. Production sensor with gVisor sandbox, behavioral analysis, and 200+ heuristic rules.

8
Quota
Quota dwseoh TypeScript

💵 Real-time financial intelligence for your codebase.

8
graph-rag-indexer
graph-rag-indexer dead8309 Python

Comparing vector-only RAG with GraphRAG (neo4j+milvus) for semantic and structural code search in JavaScript.

8
prysma
prysma prysma-llvm C++

To provide engineers with total control to forge high-performance systems.

8
tree-sitter-strdl
tree-sitter-strdl PedroZappa Tree-sitter Query

Tree-sitter parser for Strudel, a Tidal Cycles based live coding DSL.

8
earleyparser
earleyparser antedeguemon Python

a simple earley parser

7
prototype-minify
prototype-minify naver JavaScript

Minify prototype for typescript or unminfied prototype.

7
xmlparsing
xmlparsing zhengsk TypeScript

An xml parser.

7
stride
stride phogolabs Go

A code generator for OpenAPI v3.x

7
jazzle-parser
jazzle-parser JazzleWare JavaScript

relatively small and ridiculously fast parser for all versions of ECMAScript/Javascript, written in the greatest common divisor of all versions of ECM...

7
controlflow
controlflow mbergin Go

A package to remove `goto` statements from a Go syntax tree by rewriting them as conditionals and loops.

7
restrict-javascript
restrict-javascript azu TypeScript

Define restrict JavaScript syntax and validate it.

7
amdextract
amdextract mahdi-shojaee JavaScript

Uses AST to extract AMD modules, their parts and an optimized output without unused dependencies while keeping the original format.

7
parserjs
parserjs usablica JavaScript

Javascript AST parser

7
astutil
astutil mh-cbon Go

Package astutil provides useful methods to work with ast when you intend to make a generator.

7
Hinton
Hinton hinton-lang HTML

A simple interpreter, written in Rust, for a programming language called Hinton.

7
co-to-async
co-to-async albinekb JavaScript

🦄 Take the step from co.wrap to async/await automagically

7
CPlatypus
CPlatypus PlatypusLanguage C#

Official Platypus Interpreter written in C# and .Net Core

7
graphql-language
graphql-language hansott PHP

🚧 A GraphQL parser written in PHP

7
sasquatch
sasquatch asarudick TypeScript

A configurable code modifier for typescript and friends. Can transform entire codebases to enforce better coding practices, eliminate tech debt in one...

7
KotlinFuzzer
KotlinFuzzer ItsLastDay Kotlin

Fuzzer for Kotlin compiler. Found > 65 unique bugs in kotlinc v1.1.4-3.

7
aura
aura RootLUG Python

Project Aura: Security auditing and code introspection

7
loppers
loppers narrowtux Elixir

Validate quoted elixir code against a function whitelist

7
prettier-ast-explorer
prettier-ast-explorer sosukesuzuki TypeScript

AST explorer for contribution to Prettier

7
JavaParser-for-Scala
JavaParser-for-Scala Portfoligno Scala

Facilitate analysis of JavaParser AST by Scala pattern matching

7
javac-rs
javac-rs JarvisCraft Rust

Java compiler written on Rust aimed at better modularity and ease of extension

7
b28-cli
b28-cli moshang-xc JavaScript

对代码中的多语言词条进行提取,翻译替换等,提取词条输出excel文件,通过翻译后的excel文件进行词条的导入和替换。同时支持ExcelToJson, JsonToExcel

7
tscer
tscer sonacy TypeScript

simple tool to quick transform jsx react project to tsx

7
putout-editor
putout-editor coderaiser JavaScript

http://putout.cloudcmd.io/

7
gwion-ast
gwion-ast Gwion C

Ast, lexer, parser, preprocessor for Gwion language

7
php-code-ast
php-code-ast open-code-modeling PHP

PHP code generation based on PHP Abstract Syntax Tree (AST) with an easy to use high level OO API. Reverse engineering of your PHP code is also suppor...

7
esish
esish ryanmcdermott Rust

Recursive descent parser written in Rust for an ECMAScript inspired language.

7
ProgrammingLanguages
ProgrammingLanguages TheAhmadOsman Python

:electric_plug: Programming Languages, Abstract Syntax Tree, Functional Programming, Logic Programming, Assembly, Disassembly, Python, Java, JCoCo VM,...

7