Ebnf Studio

  •        646

Simple editor for managing and editing ebnf grammar files with included tools for visualizing, formatting, error chechking and etc

http://ebnf.codeplex.com/

Tags
Implementation
License
Platform

   




Related Projects

ebnf2yacc

  •    C++

ebnf2yacc is a tool to help write yacc parsers/compilers. It takes as input a grammar written in bnf (ebnf support is planned), and outputs a c++ abstract syntax tree that supports the visitor pattern, along with a yacc parser that builds the tree.

EBNF Library

  •    C

The EBNF Library scans strings with respect to a given EBNF grammar and returns a tree structure for the matches. It is an easy-to-use tool for scanning complex input.

peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.

  •    Go

Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. A Packrat parser is a descent recursive parser capable of backtracking. The generated parser searches for the correct parsing of the input.

railroad-diagrams - :steam_locomotive: A small JS+SVG library for drawing railroad syntax diagrams

  •    Python

This is a small library for generating railroad diagrams (like what JSON.org uses) using SVG, with both JS and Python ports. Railroad diagrams are a way of visually representing a grammar in a form that is more readable than using regular expressions or BNF. They can easily represent any context-free grammar, and some more powerful grammars. There are several railroad-diagram generators out there, but none of them had the visual appeal I wanted, so I wrote my own.

parsimonious - The fastest pure-Python PEG parser I can muster

  •    Python

Parsimonious aims to be the fastest arbitrary-lookahead parser written in pure Python—and the most usable. It's based on parsing expression grammars (PEGs), which means you feed it a simplified sort of EBNF notation. Parsimonious was designed to undergird a MediaWiki parser that wouldn't take 5 seconds or a GB of RAM to do one page, but it's applicable to all sorts of languages. You can have forward references and even right recursion; it's all taken care of by the grammar compiler. The first rule is taken to be the default start symbol, but you can override that.


Common Text Transformation Library

  •    C++

Common Text Transformation Library of C++ classes and functions to parse and modify STL strings. CTTL substring classes may be compared, inserted, replaced, and parsed with EBNF grammars. Compiled program implements recursive descent LL(INF) parser.

Grammar to parser classes

  •    C++

C++ template classes for declaring non-left recursive grammars (in BNF) directly in the code as set of compound classes. Includes implementation of regular expression parser - regexp_parser. Supports wide char. See http://grammar2parser.sourceforge.net/

Visual Studio 2005 Addin for Coco/R

  •    

Coco/R is a compiler generator, which takes an attributed grammar of a source language and generates a scanner and a parser for this language. The scanner works as a deterministic finite automaton. The parser uses recursive descent. LL(1) conflicts can be resolved by a multi-s...

Lexical Analyzer and Parser Generator

  •    Java

Lapg is the combined lexical analyzer and parser generator, which converts a description for a context-free LALR grammar into source file to parse the grammar. Generates code for Java, Javascript, C, C++ and C#.

Grammar-Kit - Grammar files support & parser/PSI generation for IntelliJ IDEA

  •    Java

An IntelliJ IDEA plugin for language plugin developers.Adds BNF Grammars and JFlex files editing support including parser/PSI code generator.

ResumeParser - Resume Parser using rule based approach. Developed using framework provided by GATE

  •    HTML

Parser that extracts information from any resume and converts into a structured .json format to be used by internal systems. The parser uses a rule-based approach that focuses on semantic rather than syntactic parsing. The parser can handle document types in .pdf, .txt, .doc and .docx (Microsoft word). In its current form, this application is a console based application. Parse uses the Engligh grammar engine provided by GATE through its ANNIE framework. The output is then transduced using the grammar rules and lists specifically written for resume parsing. The JAPE grammar defines a generic set of rules that complies with popular ways of resume writing. It takes Proper nouns from lists and applies them to rules to identify entities. Explore the source code and read about GATE for more details. Also, feel free to pose questions.

Alexander grammar engine

  •    C

Alexander is a grammar engine capable of deciding a superset of the context free languages. Given a formal grammar and a string, Alexander decides whether the string matches the grammar.

c3po

  •    Java

C3PO is a software synthesis tool that provides a solution for building maintainable, reliable and robust software infrastructures and/or compiler frontends from a set of attributed grammar rules in EBNF notation.

EBNF Visualizer

  •    CSharp

... visualizes EBNF (Extended Backus Naur Form). Therefore an .ebnf File is required, which contains rules written in EBNF. The program parses the rules, visualizes them as syntax diagrams and is able to generate .gif and .emf files for further use.

duckling - Probabilistic parser

  •    Clojure

Duckling is a Clojure library that parses text into structured data: “the first Tuesday of October” => {:value "2014-10-07T00:00:00.000-07:00" :grain :day}<div class="doc-website-link"> <p>You can try it out at <a href="http://duckling-lib.org">http://duckling-lib.org</a></p></div>See our [blog post announcement](https://wit.ai/blog/2014/10/01/open-source-parser-duckling) for more context.Duckling is shipped with modules that parse temporal expressions i

parboiled2 - A macro-based PEG parser generator for Scala 2.10+

  •    Scala

parboiled2 is a Scala 2.11+ library enabling lightweight and easy-to-use, yet powerful, fast and elegant parsing of arbitrary input text. It implements a macro-based parser generator for Parsing Expression Grammars (PEGs), which runs at compile time and translates a grammar rule definition (written in an internal Scala DSL) into corresponding JVM bytecode.PEGs are an alternative to Context-Free Grammars (CFGs) for formally specifying syntax, they make a good replacement for regular expressions and have some advantages over the "traditional" way of building parsers via CFGs (like not needing a separate lexer/scanner phase).

pigeon - Command pigeon generates parsers in Go from a PEG grammar.

  •    Go

The 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.

PEGTL - Parsing Expression Grammar Template Library

  •    C++

The 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).

LALR Parser Generator

  •    Java

The LALR parser generator (LPG) is a tool for developing scanners and parsers written in Java, C++ or C. Input is specified by BNF rules. LPG supports backtracking (to resolve ambiguity), automatic AST generation and grammar inheritance.

Grammar Deployment Kit

  •    C

Grammar deployment is the process of turning a given grammar specification into a working parser. The Grammar Deployment Kit (for short, GDK) provides tool support in this process based on grammar engineering methods.






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.