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)

ralph-antlr4
ralph-antlr4 suyanlong ANTLR

ralph-antlr4

3
explorer
explorer wxmlfile JavaScript

wxmlfile ast explorer

3
ralph-parser-ts
ralph-parser-ts suyanlong TypeScript

ralph language parser

3
rodkina
rodkina steve-care-software Go

Rodkina is a network based data focused programming language

3
naruse-parser
naruse-parser narusejs JavaScript

gzip just 18kb, full es5 & most es6 support, javascript parser and interpreter

3
Parseus
Parseus thumpnail C#

Experimental Parser with Source to Ast to Source Code Generator

3
SSoup
SSoup SSoup64 C

A W.I.P programming language.

3
GPEEE
GPEEE BlvckBytes Java

A very small and versatile parser used to evaluate simple expressions

3
pyastest
pyastest jwiaduck Python

a command line tool to parse, modify, and compare Python Abstract Syntax Trees

3
postfixcalc
postfixcalc mahdihaghverdi Python

Simple and safe math expression evaluator

3
docast
docast flex-development TypeScript

Docblock Abstract Syntax Tree format

3
monkey
monkey 3cham Go

Writing an interpreter in Go

3
gyros
gyros loilo TypeScript

🥙 Transform PHP ASTs the easy way

3
astray
astray giluis Rust

Build ASTs from type definitions

3
Dinghy
Dinghy tdurieux TypeScript

A library to parse and manipulate Dockerfiles

3
snail
snail cool-little-fish Rust

A JavaScript AST Parser written in Rust, inspired by Acorn.

3
eslint-plugin-arrow-function-brace
eslint-plugin-arrow-function-brace hayawata3626 TypeScript

ESLint plugin that checks if the arrow function can remove the brace.

3
esquery-cli
esquery-cli eps1lon JavaScript

Command-line interface for `esquery`

3
rehype-notion
rehype-notion TrialAndErrorOrg TypeScript

Plugin for `rehype` to turn HTML into Notion blocks

3
FAST
FAST moosetechnology Smalltalk

Represent the AST of programing language

3
bfc
bfc zsr2531 C++

A brainfuck interpreter and compiler written in C++

2
DiscordQL
DiscordQL cjavad TypeScript

You ever wanted to browse your discord server from a terminal? Look no further DiscordQL aims to be a CLI interface with your discord bot.

2
LAP
LAP Rerumu Lua

Lua Average Parser

2
Principles-of-Programming-Languages
Principles-of-Programming-Languages omriattal TypeScript

The assignments of the course Principles of Programming Languages in Ben Gurion University, Israel.

2
ng-transforms
ng-transforms ryankuykendall TypeScript

Typescript AST tooling for creating transforms and collecting metadata about Angular projects.

2
simplecc
simplecc cgsdfc C++

A simple yet modular C-like compiler

2
snapdragon-is-inside
snapdragon-is-inside here-be JavaScript

Snapdragon plugin that adds an `isInside` method to the compiler instance for checking if a node is currently inside a given node type.

2
pug-ast-loader
pug-ast-loader nicholaslee119 JavaScript

a webpack loader to import pug template as AST

2
astcast
astcast go-toolsmith Go

Package astcast wraps type assertion operations in such way that you don't have to worry about nil pointer results anymore.

2
acc
acc xadhrit C

Do you like compilation? 😗

2
42sh
42sh giacomoguiulfo C

4️⃣ 2️⃣ The return of the Vengeance from the past!

2
snapdragon-capture
snapdragon-capture here-be JavaScript

Snapdragon plugin that adds a capture method to the parser instance, which allows you to capture tokens with a single line of code

2
webpack-parent-context-plugin
webpack-parent-context-plugin vicrazumov JavaScript

Webpack Parent Context Plugin

2
latex-parser
latex-parser denysvitali Go

A LaTeX parser, in Go

2
splinter
splinter sparkbox JavaScript

🐭 Parse and split SCSS files based on functions and mixins.

2
SLANG
SLANG rochauha C++

Bridge between SPAN and Clang

2
descr
descr goodcodedev Rust

Small language to describe languages. Produces ast, parser, traverser in Rust, and syntax highlighting for vscode.

2
lucene-query
lucene-query gremid Clojure

Parser for Apache Lucene Classic Queries

2
SimpleScript
SimpleScript aeckardt C++

Test Automation Script using Qt

2
llvm-life
llvm-life francisvm Assembly

Presentation of the life of an instruction in LLVM / Clang at LSE week

2
snapdragon-location
snapdragon-location here-be JavaScript

Adds a location object to snapdragon token or AST node.

2
astinfo
astinfo go-toolsmith Go

Package astinfo records useful AST information like node parents and such.

2
feup-comp
feup-comp msramalho Java

Pattern identifying tool

2
snapdragon-visit
snapdragon-visit here-be JavaScript

visit and mapVisit methods for snapdragon nodes.

2
inspect-ast
inspect-ast danielstjules JavaScript

A better way to view a compact JS abstract syntax tree

2
derpy
derpy agoose77 Python

Context Free Grammar "Parsing with Derivatives", in Python

2
umwelt
umwelt sovetnik Ruby

Client for Umwelt

2
pongo
pongo dpakach Go

A simple interpreter

2
ast-plugin
ast-plugin lint-md TypeScript

The simplest abstract syntax tree walker, similar with @Babel plugin.

2
clangCallHierarchy
clangCallHierarchy jzhang46 C

Get the objective-c call-hierarchy information of an Xcode project using libClang

2