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.
:herb: JavaScript Concrete Syntax Tree
AST-based fragmental source code refactoring toolkit for Python
.NET LINQ in JavaScript
It's Python with a Lissp.
竜 TatSu generates Python parsers from grammars in a variation of EBNF
:open_file_folder: generic protocol generator based on golang's text/template (grpc/protobuf)
HexRays ctree visualization plugin
High performance JavaScript to JavaScript compiler with a Rust core
Dark magic delights in Python
Find all calls to require() no matter how deeply nested using a proper walk of the AST
A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.
Compile-time i18n toolkit that requires zero code changes and produces the smallest possible bundles. Supports React, Svelte, SolidJS, Astro, and more
Function decorators for Elixir
Internationalize react apps within a lunch break
A source-to-source transpiler for Python to Go translation
deep, reliable and confidential coding-context
A library to parse C/C++ source as AST
A curated list of awesome resources for Graal, GraalVM, Truffle and related topics
A self-hosted server for source code parsing
User Guides For those new to the LLVM system.(LLVM系统的新用户指南,中文翻译版)
Generic AST parsing library for kotlin multiplatform
CLI tool for quick size measure of PHP project, used PHP features and more. Zero dependencies. Runs anywhere
Check exhaustiveness of switch statements of enum-like constants in Go source code.
Yet another simple Postgres SQL parser
A typescript-go toolchain, with evidence graph
render abstract syntax trees with react
An 100% spec compliant ES2022 JavaScript toolchain
utility functions for working with typescript's AST
Mathematical expression parsing and calculation engine library. 数学表达式解析计算引擎库
babygo👶 is a small Go compiler made from scratch, which can compile itself. It's going to be the smallest and simplest go compiler in the world.
:diamond_shape_with_a_dot_inside: transform html with javascript plugins
Convert Go values to their AST
MCP Server for Tree-sitter
Safe-to-use proc-macro-free self-referential structs in stable Rust.
A golang source code scanner, this time in sql :)
Parse SQL (select) statements into abstract syntax tree (AST) and convert ASTs back to SQL.
An Elixir tool for checking safety of database migrations.
⚡️ Automatically add Trace Spans to Go functions
esmangle is mangler / minifier for Mozilla Parser API AST
Simple Swift interpreter for the Pascal language inspired by the Let’s Build A Simple Interpreter article series.
JavaScript & Node.js open-source SAST scanner. A static analyser for detecting most common malicious patterns 🔬.
Contains source-code for viewers following along with my Beginners Guide To Building Interpreters series on my Youtube Channel.
Generate PlantUML class diagrams to document your Python application.
Custom Python linting through AST expressions
Conditions query translator for everything
Automatic test case generation for python and static analysis library
ECMAScript parsing infrastructure for multipurpose analysis
Rector for TYPO3
A Go source transformation tool for generics
SQL(select) parser written with jison. parse SQL into abstract syntax tree(AST) and stringify back to SQL. sql grammar follows https://dev.mysql.com/d...