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)

miniVue
miniVue ccbyland JavaScript

在尽可能保持与vue2.x项目结构一致的同时,精简非核心代码,通过案例的形式描述vue核心(解析器-优化器-生成器-render函数-vnode-patch)闭环流程,易于对比vue...

3
Autopsy
Autopsy areller C#

Interact with Compiled Delegates' Syntax Trees Dynamically

3
MiniJava
MiniJava Tetr4 Java

MIPS Compiler for MiniJava using JFlex, Beaver and JastAdd

3
mich-parse-selector
mich-parse-selector tunnckoCore JavaScript

Tiny parser for simple CSS selectors, just in ~300 bytes. Pretty similar to what is done in Hyperscript

3
Calculator
Calculator mohitisgreat Java

A next generation calculator

3
ariel
ariel ibatullin C++

Relational algebra for C++/Qt

3
mich-to-html
mich-to-html tunnckoCore JavaScript

Tiny and naive implementation of rendering HAST-compliant virtual dom trees to HTML string, just in ~420 bytes.

3
phpgrep-contrib
phpgrep-contrib quasilyte Shell

Extra utilities and docs for the phpgrep

3
abnfa
abnfa ZxxLang JavaScript

Migrated to https://gitlab.com/zxxlang/abnfa

3
graphql-paths-to-ast
graphql-paths-to-ast imranolas JavaScript

Transforms a list of object get paths to a GraphQL query

3
snapdragon-cheerio
snapdragon-cheerio here-be JavaScript

Snapdragon plugin for converting a cheerio AST to a snapdragon AST.

3
OrchLang
OrchLang BarkingBad Python
3
tempar
tempar XiaocongDong JavaScript

Lightweight template parser for anything.

3
hunt-sql
hunt-sql huntlabs D

SQL parser library for D programming language.

3
protobuf-ast-helpers
protobuf-ast-helpers Fanatics Go

Golang protobuf AST helpers over the https://github.com/jhump/protoreflect/desc package

3
JParseCode
JParseCode TeamworkGuy2 Java

An in-progress suite of parsing/transpilation tools for C#, Java, and TypeScript code. Generates simple JSON ASTs.

3
CodeTranslate
CodeTranslate jackdavidweber Python

CodeTranslate is a one-stop site for developers to rapidly scale-up in unfamiliar languages without having to memorize syntax, follow tutorials, or re...

3
rocambole-strip-console
rocambole-strip-console sindresorhus JavaScript

Strip console statements from a rocambole AST

3
goloc
goloc PaulSonOfLars Go

Simple string extraction tool for translation purposes

3
Automatic-Sentence-Simplification
Automatic-Sentence-Simplification dhruvp-8 Python

Given a sentence this tool will simplify the sentence. This will be a Lexical Simplification

3
surface
surface emaiannone Java

Surface (Java SecURity FlAws metriCs Extractor) - A lightweight command-line tool for computing security metrics from Java classes

3
ast2template
ast2template pingdai Go

auto generate template from gorm model struct,like select/upadate/insert and so on.

3
clast
clast olewhalehunter Common Lisp

Common Lisp Abstract Snytax Tree manipulation

3
code-generator
code-generator melwyn95 Go

slides and code examples for talk on code generators in Go

3
the-super-tiny-compiler-cn
the-super-tiny-compiler-cn Xing-Chuan JavaScript

200行代码实现的极简编译器

3
rocambole-strip-debugger
rocambole-strip-debugger sindresorhus JavaScript

Strip debugger statements from a rocambole AST

3
astify
astify cristaloleg Go

CHAOTIC EVIL PRE-ALPHA WIP

3
astp
astp cristaloleg Go

ARCHIVED, SEE: https://github.com/go-toolsmith/astp Collection of Go AST predicates

3
docsense
docsense MattMcFarland TypeScript

An intelligent documentation generator for Ecmascript, Typescript, and Flowtype

3
First-Compiler
First-Compiler Aleman778 Rust

My first compiler written for course Compiler Construction and Formal Languages D7050E

3
estree-util-is-identifier-name
estree-util-is-identifier-name syntax-tree JavaScript

Check if something can be an ecmascript (javascript) identifier name

3
oscript-parser
oscript-parser prantlf JavaScript

A parser for the OScript language written in JavaScript. With an AST walker, a syntax checker (lint) and a code-executing interpreter.

3
prototype
prototype spiral PHP

[READ ONLY] Automatic dependency injection using AST modifications. Subtree split of the Spiral Prototype component (see spiral/framework)

3
trans
trans rieske C++

Compiler for a subset of the C programming language.

3
vscode-typescript-outline-view
vscode-typescript-outline-view cancerberoSgx TypeScript

vscode extension that shows a friendly representation of current TypeScript/JavaScript source file's AST in the activity bar. Supports filtering and d...

3
AstAnalyserJava
AstAnalyserJava auricombak Java

AST Analyser in Java

3
pyuntype
pyuntype Escape-Technologies Python

Programatically untype your Python code.

3
sm
sm Konstantin8105 Go

symbolic math on Go

3
ast
ast xp-framework PHP

AST for the XP Framework

3
HLang
HLang supragya C

Core shell scripting language design and interpreter proposed for HelenOS's BDSH shell system. Includes prototype implementation using AST and provisi...

3
differentia-javaica
differentia-javaica morisil Java

compare java source files as logical structure

3
arsm
arsm ZippyMagician Rust

A simple version of Assembly, written in Rust

3
calcit-viewer
calcit-viewer calcit-lang Cirru

View for calcit.cirru

3
solidity-pegjs-parser
solidity-pegjs-parser sambacha PEG.js

Solidity Parser for Coverage Testing utilizing new Peggy PEG.js Parser

3
funky
funky luhring Go

A Go (golang) linter that finds mutations.

3
brackets-storage-calls
brackets-storage-calls Drarig29 TypeScript

Creates a list of all storage calls with their signature and parameters

3
ents
ents ckipp01 Scala

Exploring Scala 3 Compiler Trees

3
method-naming
method-naming Castavo Jupyter Notebook

Predicting Python method name given an Abstract Syntax Tree

3
typesitter
typesitter 5c077m4n Rust
3
ts-factory
ts-factory jonnydgreen TypeScript

[WIP] Build and render TypeScript using JSON

3