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)

iroun
iroun pistis JavaScript

Name analyzer written in Javascript

18
ktcodeshift
ktcodeshift orangain Kotlin

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

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

Output hash value of JavaScript AST.

18
snapdragon-util
snapdragon-util here-be JavaScript

Utilities for the snapdragon parser/compiler.

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
ts-iqueryable
ts-iqueryable WimJongeneel TypeScript

Expressions and IQueryables in TypeScript

18
magic-tree
magic-tree braintripping Clojure

whitespace-aware Clojure source code manipulation.

18
jscodeshift-collections
jscodeshift-collections rajasegar JavaScript

Collections for some AST nodes in jscodeshift

18
candice
candice gabivlj Go

Candice, a dead simple language and multi-platform.

17
prism-merge
prism-merge kettle-rb Ruby

☯️ Intelligently merges two versions of a Ruby file using Prism AST analysis. It's like a smart "git merge" specifically designed for Ruby code.

17
mutates
mutates IKatsuba TypeScript

Still afraid to do something with AST? Mutates the AST, not your brain.

17
PyCalculator
PyCalculator SagarBiswas-MultiHAT Python

PyCalculator — A secure, beginner-friendly Python scientific calculator with a modern Tkinter GUI and an AST-based evaluator (no raw eval). Supports a...

17
wasm-ast
wasm-ast misalcedo Rust

A Rust-native WebAssembly syntax model useful for generating, reading, and emitting WebAssembly code.

17
html2latex
html2latex pankaj28843 Python

Convert WYSIWYG HTML to LaTeX with typed ASTs, full table support, and 100% test coverage

17
ifshort
ifshort esimonov Go

Go linter for checking that your code uses short syntax for if-statements whenever possible.

17
ruby-ast-explorer
ruby-ast-explorer rajasegar JavaScript

AST Explorer for ruby

17
Firethorn
Firethorn iwillspeak F#

Implementation of Red / Green syntax trees. Inspired by Rowan

17
qunit-migrate
qunit-migrate apsdehal JavaScript

Migrate old QUnit tests to 2.x. Uses regex and ASTs to convert old QUnit code.

17
vscode-tsquery
vscode-tsquery urish TypeScript

TSQuery extension for Visual Studio Code

17
ini
ini nonzzz Go

A standard golang ini parser

17
astranaut
astranaut slepher Erlang

traverse erlang ast and elixir macro in erlang.

17
vscode-babel-ast-explorer
vscode-babel-ast-explorer JennieJi HTML
17
markright
markright mudasobwa Elixir

A customizable markdown parser in Elixir: pure pattern matching.

17
unjquerify
unjquerify devbridie TypeScript

AST-based tool for converting jQuery code to modern vanilla JavaScript

17
better-diff
better-diff ElianCordoba TypeScript

Aiming to be the next-gen `git diff`

16
Audioset
Audioset IvanBirkmaier Jupyter Notebook

This repository is built with a focus on practical ways to obtain and work with the audio data of audioset. You can use this repository to download an...

16
Ast
Ast MrKWatkins C#

Library to build an abstract syntax tree for use in compilers.

16
vastly
vastly mavoweb JavaScript

Everything you need to support a custom formula language

16
zshellcheck
zshellcheck afadesigns Go

The first native intelligence for Zsh, leveraging deep AST parsing to lint, format, and auto-fix scripts with compiler-grade precision.

16
tree_haver
tree_haver kettle-rb Ruby

🌴 TreeHaver is a cross-Ruby adapter for many AST parsing libraries; supporting MRI Ruby, JRuby, & TruffleRuby. Provides unified parsing API & AST whe...

16
vue-sfcmod
vue-sfcmod Sidnioulz TypeScript

Vue 3 codemod framework for SFC scripts and templates

16
ESGEM-AMR
ESGEM-AMR AMRverse SCSS

This is the webpage of the ESGEM-AMR Working Group

16
ariadne
ariadne CRJFisher TypeScript

🧵 Follow the thread through your codebase - find definitions, track references, and build call graphs with tree-sitter

16
markup.json
markup.json metaory JavaScript

A minimal markup DSL and AST for JSON - Transforms into HTML, SVG or XML-like output via CLI or JS library

16
babel-plugin-function-try-catch
babel-plugin-function-try-catch xxxsf JavaScript

Based on ast, a babel plugin that automatically adds try/catch to functions.(基于ast,为函数自动添加 try/catch 的 babel 插件)

16
pyright-ast-viewer
pyright-ast-viewer Zzzen TypeScript

Pyright AST viewer.

16
java-adt
java-adt andreasabel Haskell

A tool to create immutable algebraic data structures and visitors for Java (such as abstract syntax trees).

16
C90Compiler-EIE2
C90Compiler-EIE2 martinferianc C++

C90 to MIPS I Compiler done as a coursework for EE2-15

16
iterum
iterum ghaiklor TypeScript

Interpreter for a subset of ECMA specification implemented on top of recursive descent parser

16
omakase
omakase salesforce CSS

Java-based, plugin-oriented CSS3+ parser

16
ast-grep
ast-grep azz JavaScript

🔍 Like grep, but more powerful than you can possibly imagine

16
vast
vast JamesPhillipsUK Python

VisAST: Building and visualising Abstract Syntax Trees for Python code.

16
SyntaxTree.jl
SyntaxTree.jl chakravala Julia

Toolset for modifying Julia AST and characteristic values

16
tsdoc-testify
tsdoc-testify akito0107 TypeScript
16
ast_tools
ast_tools leonardt Python

Toolbox for working with the Python AST

16
Compiler
Compiler VladimirBalun C++

🎓 Implementation of the primitive compiler without popular tools like LLVM for abstract programming language.

16
write_your_dynamic_language_runtime
write_your_dynamic_language_runtime forax Java

How to write interpreters or dynamic compilers for dynamically typed languages on top of the JVM

16
PSScriptingInventory
PSScriptingInventory jdhitsolutions PowerShell

A demonstration PowerShell module to analyze files for PowerShell commands.

16
bonsai
bonsai git-afsantos Python

Simplified interface for syntax trees and program models.

16