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.
Solhint is an open-source project to provide a linting utility for Solidity code.
An automated JavaScript deobfuscation tool based on Babel AST, with an online playground, CLI, and programmable API.
TypeScript development tool for Visual Studio Code that helps you automate creating the initial static typing for runtime values
Acche din aa gaye
Universal Syntax Tree used by @unifiedjs
Binary AST proposal for ECMAScript
ECMAScript JS AST traversal functions
C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html
PHP parser written in Go
Enterprise-grade (40m+ lines) codebase intelligence in a zero-setup, private and local Plugin/Skill or MCP: managed indexing, hybrid semantic search,...
An early-stage PHP parser designed for IDE usage scenarios.
Hypertext Abstract Syntax Tree format
ECMAScript AST query library.
Toolchain for WebAssembly
FSharp source code formatter
GraphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2,...
🐊 Pluggable and configurable JavaScript Linter, code transformer and formatter with superpowers 💪: built-in support of js, jsx, ts, markdown, yaml,...
A tiny evaluator and compiler of arithmetic expressions.
Get the dependency tree of a module
The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statemen...
:card_file_box: A javascript debundler. Takes a Browserify or Webpack bundle and recreates the initial, pre-bundled source.
parse org-mode content into AST
🔪📦 Javascript decompiler for modern frontend
A neovim plugin for moving around your code in a syntax tree aware manner
CppAst is a .NET library providing a C/C++ parser for header files powered by Clang/libclang with access to the full AST, comments and macros
A tiny compiler for a language featuring LL(2) grammar. With Lexer, Parser, ASM-like codegen and VM. Complex enough to give you a flavour of how the "...
A common base representation of python source code for pylint and other projects
🚀 Fast and 100% API compatible postcss replacer, built in Rust
:herb: NodeJS PHP Parser - extract AST or tokens
AI-friendly semantic code search engine for large codebases. Combines ripgrep speed with tree-sitter AST parsing. Powers AI coding assistants with pre...
CodeVisualizer is a powerful VS Code extension that provides two main visualization capabilities: function-level flowcharts for understanding code con...
Escope: ECMAScript scope analyzer
Converts C# classes to TypeScript interfaces (and many more) within project build. 0-dependency, minimal, gluten-free
Antidote to VibeCoding
Markdown to Notion: Convert Markdown and GitHub Flavoured Markdown to Notion API Blocks and RichText 🔀📝
ClangQL is a tool that allow you to run SQL-like query on C/C++ Code instead of database files using the GitQL SDK
Concurrently detect the minimum Python versions needed to run code
An 100% spec compliant ES2021 JavaScript parser written in JS
A web tool to explore the ASTs generated by parsers.
VSCode extension to highlight nested code blocks
A Lua parser written in JavaScript
Hexrays Toolbox - Find code patterns within the Hexrays ctree
:herb: JavaScript Concrete Syntax Tree
AST-based fragmental source code refactoring toolkit for Python
.NET LINQ in JavaScript
It's Python with a Lissp.
High performance JavaScript to JavaScript compiler with a Rust core
:open_file_folder: generic protocol generator based on golang's text/template (grpc/protobuf)
HexRays ctree visualization plugin
竜 TatSu generates Python parsers from grammars in a variation of EBNF