Parsing Expression Grammar Template Library
-
Updated
May 7, 2024 - C++
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.
Parsing Expression Grammar Template Library
C++ Mathematical Expression Parsing And Evaluation Library (mirror) https://www.partow.net/programming/exprtk/index.html
Compile Time Parser Generator is a C++ single header library which takes a language description as a C++ code and turns it into a LR1 table parser with a deterministic finite automaton lexical analyzer, all in compile time.
The Hunspell binding for NodeJS that exposes as much of Hunspell as possible and also adds new features. Hunspell is a first class spellcheck library used by Google, Apple, and Mozilla.
💡 Build your own programming language! A C++17 PEG parser generator supporting parser combination, memoization, left-recursion and context-dependent grammars.
Superion is a fuzzer which extends the famous AFL to support structured inputs such as JavaScript and XML.
C++ embedded domain specific language for expressing parsers as extended parsing expression grammars (PEGs)
一个C-的编译器/NUAA 编译原理课程设计
parser combinator and AST generator in c++17
NatLang is an English parser with an extensible grammar
parse-english is a minimum viable English parser implemented in LexYacc
【C++/OpenGL】基于L系统随机文法元的分形树
Self-hosted parser/scanner generator from LR grammar with semantic annotations in C++20
The AFP Library is a collection of C++11 header files that provides users with a flexible rapid prototyping tool to create general-purpose LL(k) parsers in C++.
The LALR parser generator (LPG) is a tool for developing scanners and parsers. Supports multi-language . Input is specified by BNF rules. LPG supports backtracking (to resolve ambiguity), automatic AST generation and grammar inheritance.