Tags : Browse Projects

Select a tag to browse associated projects and drill deeper into the tag cloud.

Spirit Parser Library

Compare

  Analyzed 4 months ago

Spirit is an object-oriented, recursive descent parser generator framework implemented using template meta-programming techniques. Expression templates allow Spirit to approximate the syntax of Extended Backus Normal Form (EBNF) completely in C++. The Spirit framework enables a target grammar to be ... [More] written exclusively in C++. EBNF grammar specifications can mix freely with other C++ code and, thanks to the generative power of C++ templates, are immediately executable. [Less]

188K lines of code

1 current contributors

10 months since last commit

17 users on Open Hub

Activity Not Available
4.55556
   
I Use This

Irony — .NET Language Implementation Kit

Compare

  Analyzed 10 months ago

Irony is a development kit for implementing languages on .NET platform. Unlike most existing yacc/lex-style solutions Irony does not employ any scanner or parser code generation from grammar specifications written in a specialized meta-language. In Irony the target language grammar is coded directly ... [More] in c# using operator overloading to express grammar constructs. Irony's scanner and parser modules use the grammar encoded as c# class to control the parsing process. See the expression grammar sample for an example of grammar definition in c# class, and using it in a working parser. [Less]

31.2K lines of code

0 current contributors

over 3 years since last commit

4 users on Open Hub

Activity Not Available
5.0
 
I Use This

pegtl

Compare

  Analyzed about 1 year ago

The Parsing Expression Grammar Template Library (PEGTL) is a C++0x library for creating parsers according to a Parsing Expression Grammar (PEG). Grammars are embedded as regular C++ code, created with template programming (not template meta programming). These hierarchies naturally correspond to the ... [More] inductive definition of PEGs. The library extends on the subject of PEGs with new expression types, actions that can be attached to grammar rules, and mechanisms to ensure helpful diagnostics in case of parsing errors. PEGs are superficially similar to Context-Free Grammars (CFGs); for a description see Wikipedia page on PEGs or this paper on PEGs by Bryan Ford. [Less]

0 lines of code

0 current contributors

over 9 years since last commit

2 users on Open Hub

Activity Not Available
0.0
 
I Use This
Mostly written in language not available
Licenses: MIT

EpochX

Compare

  Analyzed 4 months ago

EpochX is a genetic programming framework for Java. It is designed specifically for the task of analyzing evolutionary automatic programming, so is ideal for researchers who require an extendable system for studying the effects of new operators or procedures. EpochX supports 3 popular ... [More] representations - Strongly-Typed tree GP - Context-Free Grammar GP - Grammatical Evolution [Less]

42.6K lines of code

0 current contributors

over 6 years since last commit

2 users on Open Hub

Activity Not Available
5.0
 
I Use This

tinyap

Compare

  Analyzed about 1 year ago

This is not yet another parser. Tinyap takes some text and an a grammar describing AST as inputs, and outputs another AST that describes the text contents, according to the provided grammar. Basically, tinyap is a recursive descent parser with backup. Thus, it's able to recognize any LL(k) ... [More] language. When a parse is successful, tinyap outputs an Abstract Syntax Tree (AST) that represents the input text in a structured manner. Unlike most parsers, its code isn't factory-calibrated for a particular grammar. Instead, the grammar is data. Tinyap uses an AST that represents a grammar to parse its input text. This grammar AST is structured according to tinyap's grammar description language. This parser is meant to allow quick and easy development of new languages and the corresponding interpreters or compilers, by defining a single tool and library to parse the source grammar as well as the source text according to the source grammar and walk the resulting ASTs. The factory default for the grammar AST is the grammar description language itself. So one can parse a grammar description and directly use the parse output to parse some other text written in the described language. Tinyap also features a plugin mechanism for grammars, which allows for dynamic modular grammars. The ASTs tinyap produces can be serialized to and deserialized from buffers and files. Finally, tinyap provides an interface to walk down the ASTs and makes it easy to write external plugins to visit the nodes, e.g. a compiler, an interpreter, a static evaluator, a renderer... You can have a look at an extensive use of tinyap at http://code.google.com/p/tinyaml where tinyap is used to parse compile and extend a base meta-language. A tutorial is available here : http://beublo23.free.fr/doxygen/tinyap/Tutorial.html Until further request, C++ and Java API are more or less discontinued. Contact me at damien dot leroux at gmail dot com for feedback, suggestions, requests or to help improving the code. [Less]

42.3K lines of code

0 current contributors

over 6 years since last commit

1 users on Open Hub

Activity Not Available
0.0
 
I Use This

yardparser

Compare

  Analyzed over 1 year ago

Welcome to Yet Another Recursive Descent (YARD) parsing framework for C++. YARD is inspired by Boost.Spirit. YARD allows the specification of parsing expression grammars (PEG) using types and templates directly, instead of through operator overloading. The result is a very compact and efficient ... [More] parser generating library. YARD parsers automatically perform tokenization and construction of abstract syntax trees. [Less]

0 lines of code

0 current contributors

about 10 years since last commit

1 users on Open Hub

Activity Not Available
5.0
 
I Use This
Mostly written in language not available
Licenses: MIT

BNFC

Compare

  Analyzed about 2 months ago

The BNF Converter is a compiler construction tool generating a compiler front-end from a Labelled BNF grammar. It is currently able to generate C, C++, C#, F#, Haskell, Java, and OCaml, as well as XML representations. Given a Labelled BNF grammar the tool produces: * an abstract syntax ... [More] implementation * a case skeleton for the abstract syntax in the same language * an Alex, JLex, or Flex lexer generator file * a Happy, CUP, or Bison parser generator file * a pretty-printer as a Haskell/Java/C++/C module * a Latex file containing a readable specification of the language [Less]

77.7K lines of code

4 current contributors

8 months since last commit

1 users on Open Hub

Activity Not Available
0.0
 
I Use This

uri_grammar

Compare

  Analyzed 12 months ago

uri_grammar provides a Spirit grammar for parsing URIs. The grammar is parameterized with user-supplied parse actions.

634 lines of code

0 current contributors

over 2 years since last commit

1 users on Open Hub

Activity Not Available
0.0
 
I Use This

Lepl

Compare

  Analyzed about 1 year ago

Lepl is a parser for Python 3 (mostly backwards compatible with 2.6). Features: * Parsers are Python code, defined in Python itself. No separate grammar is necessary. * Friendly syntax using Python's operators allows grammars to be defined in a declarative ... [More] style close to BNF. * Integrated, optional lexer simplifies handling whitespace. * Built-in AST support with support for iteration, traversal and re-writing. * Generic, pure-Python approach supports parsing a wide variety of data including bytes (Python 3+ only). * Well documented and easy to extend. * Unlimited recursion depth (co-routines); memoisation; backtracking; etc - basically, it's recursive descent, done right. [Less]

22.1K lines of code

0 current contributors

over 5 years since last commit

1 users on Open Hub

Activity Not Available
0.0
 
I Use This

ParserLab

Compare

  Analyzed about 2 months ago

Generate parsers with ease, using a graphical user interface, or console. Design your parsers graphically or by using standard regular expressions and BNF syntax similar to lex/yacc. Generated parsers can be in C or C++.

2.78K lines of code

0 current contributors

almost 6 years since last commit

1 users on Open Hub

Activity Not Available
5.0
 
I Use This
Licenses: No declared licenses