PEG.js is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily.Online version is the easiest way to generate a parser. Just enter your grammar, try parsing few inputs, and download generated parser code.
parser-generator pegpest is a PEG parser with simplicity and speed in mind. This is then saved in a .pest grammar file and is never mixed up with Rust code which results in an always up-to-date formal definition of the grammar which is very easy to maintain.
peg parsingThe Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG). Grammars are written as regular C++ code, created with template programming (not template meta programming), i.e. nested template instantiations that naturally correspond to the inductive definition of PEGs (and other parser-combinator approaches).
peg header-only cpp parsing cpp17 cpp11 grammar parsing-expression-grammarsLanguage.js is an experimental new parser based on PEG (Parsing Expression Grammar), with the special addition of the "naughty OR" operator to handle errors in a unique new way. It makes use of memoization to achieve linear time parsing speed, and support for automatic cut placement is coming to maintain mostly constant space as well (for a discussion of cut operators see: www.ialab.cs.tsukuba.ac.jp/~mizusima/publications/paste513-mizushima.pdf). The most unique addition Language.js makes to PEG is how it handles errors. No parse ever fails in Language.js, instead SyntaxErrorNodes are placed into the resultant tree. This makes it trivial to do things like write syntax highlighters that have live error reporting. This also means that Language.js is very competent at handling multiple errors (as opposed to aborting on the first one that is reached).
parser peg packrat generator compiler lexer tokenizer lex yacc bison antlrThis is a simple parser generator based on Parsing Expression Grammars. Please see the release notes for updates.
parsing-expression-grammars peg grammar parsing parser-generatorThe pigeon command generates parsers based on a parsing expression grammar (PEG). Its grammar and syntax is inspired by the PEG.js project, while the implementation is loosely based on the parsing expression grammar for C# 3.0 article. It parses Unicode text encoded in UTF-8. See the godoc page for detailed usage. Also have a look at the Pigeon Wiki for additional information about Pigeon and PEG in general.
peg parser parser-generatorCanopy is a parser compiler targeting Java, JavaScript, Python and Ruby. It takes a file describing a parsing expression grammar and compiles it into a parser module in the target language. The generated parsers have no runtime dependency on Canopy itself. For usage documentation see canopy.jcoglan.com.
parser compiler pegA lucene style query parser that is extensible and allows additional syntax features. Also includes an Elasticsearch query_string query replacement that greatly enhances its capabilities for dynamic queries.In the sample below we will parse a query and output it's structure using the DebugQueryVisitor and then generate the same exact query using the parse result.
lucene parsers parse elasticsearch aggregation query foundatio c-sharp pegasus peg aliases macrosC++11 header-only PEG (Parsing Expression Grammars) library. cpp-peglib tries to provide more expressive parsing experience in a simple way. This library depends on only one header file. So, you can start using it right away just by including peglib.h in your project.
cpp cpp11 peg parsing-expression-grammarsParse, modify and stringify lucene queries. The parser is auto-generated from a PEG implementation in JavaScript called PEG.js.
lucene querystring parser stringify formatter grammar peg query pegjsA top down parser that can handle left recursion by using a stack and backtracking. Indirect recursion is not implemented yet.
peg parser language grammarSolid is an implementation in Elixir of the template engine Liquid. It uses neotoma to generate the parser.
liquid elixir template-engine template-engine-liquid neotoma peg parserHundreds of other symbols and special characters are supported, too. For example, \spadesuit, \aleph, \OE, \downdownarrows and \o are translated to ♠, ℵ, Œ, ⇊, ø, respectively. LaTeX2Unicode is written in Scala, thus can serve as a 3rd party library in any JVM application that needs to extract information from LaTeX texts (e.g. BibTeX).
latex peg parsingCommon Lisp Markdown -> html converter, using esrap for parsing, and grammar based on peg-markdown. Currently a bit slow and uses lots of RAM for large documents (particularly when using the top-level doc parser instead of reading documents as a sequence of blocks), but seems to handle the tests from peg-markdown reasonably well.
parsing peg common-lisp grammarHam is another altJS language, similar to CoffeeScript. What makes Ham different is that it is written as a PEG, and does not have significant whitespace. Ham looks very similar to Javascript at first, but offers (hopefully) many useful features. Ham was written using the Canopy PEG Parser Generator, and Javascript. I am currently working towards self-hosting Ham but it is not quite there yet.
ham pegThis project is licensed under MIT License. For the full text of the license, see the LICENSE file.
parser shell posix lpeg shell-parser pegPEG parser combinators created using operator overloading without macros. Read more on Wikipedia.
parsing parser-combinators pegpeg and leg are tools for generating recursive-descent parsers: programs that perform pattern matching on text. They processes a Parsing Expression Grammar (PEG)[Ford 2004] to produce a program that recognises legal sentences of that grammar. peg processes PEGs written using the original syntax described by Ford.
parsing-expression-grammars peg parser-generator recursive-descent recursive-descent-parser
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.