All Projects → mdaines → Grammophone

mdaines / Grammophone

A tool for analyzing and transforming context-free grammars.

Programming Languages

javascript
184084 projects - #8 most used programming language
grammar
57 projects

Labels

Projects that are alternatives of or similar to Grammophone

Graphql Go Tools
Tools to write high performance GraphQL applications using Go/Golang.
Stars: ✭ 96 (-23.81%)
Mutual labels:  parsing
Corrode
A batteries-included library for reading binary data.
Stars: ✭ 116 (-7.94%)
Mutual labels:  parsing
Master Plan
Project Management for Hackers
Stars: ✭ 121 (-3.97%)
Mutual labels:  parsing
Antlr4
ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
Stars: ✭ 11,227 (+8810.32%)
Mutual labels:  parsing
Stacktracey
Parses call stacks. Reads sources. Clean & filtered output. Sourcemaps. Node & browsers.
Stars: ✭ 115 (-8.73%)
Mutual labels:  parsing
Svg
Composer and parser for SVG
Stars: ✭ 119 (-5.56%)
Mutual labels:  parsing
Nice Parser
Nice parsers in OCaml without the boilerplate
Stars: ✭ 91 (-27.78%)
Mutual labels:  parsing
Dan Jurafsky Chris Manning Nlp
My solution to the Natural Language Processing course made by Dan Jurafsky, Chris Manning in Winter 2012.
Stars: ✭ 124 (-1.59%)
Mutual labels:  parsing
Chordsheetjs
A JavaScript library for parsing and formatting ChordPro chord sheets
Stars: ✭ 114 (-9.52%)
Mutual labels:  parsing
Cherow
Very fast and lightweight, standards-compliant, self-hosted javascript parser with high focus on both performance and stability
Stars: ✭ 1,539 (+1121.43%)
Mutual labels:  parsing
Sywac
🚫 🐭 Asynchronous, single package CLI framework for Node
Stars: ✭ 109 (-13.49%)
Mutual labels:  parsing
Expressive
Expressive is a cross-platform expression parsing and evaluation framework. The cross-platform nature is achieved through compiling for .NET Standard so it will run on practically any platform.
Stars: ✭ 113 (-10.32%)
Mutual labels:  parsing
Py Pdf Parser
A Python tool to help extracting information from structured PDFs.
Stars: ✭ 120 (-4.76%)
Mutual labels:  parsing
Yacep
yet another csharp expression parser
Stars: ✭ 107 (-15.08%)
Mutual labels:  parsing
Whois Parser
Go(Golang) module for domain whois information parsing.
Stars: ✭ 123 (-2.38%)
Mutual labels:  parsing
Libdparse
Library for lexing and parsing D source code
Stars: ✭ 91 (-27.78%)
Mutual labels:  parsing
Formatfuzzer
FormatFuzzer is a framework for high-efficiency, high-quality generation and parsing of binary inputs.
Stars: ✭ 117 (-7.14%)
Mutual labels:  parsing
Parser
Simple Parser + Nice Error Messages
Stars: ✭ 125 (-0.79%)
Mutual labels:  parsing
Chevrotain
Parser Building Toolkit for JavaScript
Stars: ✭ 1,795 (+1324.6%)
Mutual labels:  parsing
Dateutil
Useful extensions to the standard Python datetime features
Stars: ✭ 1,706 (+1253.97%)
Mutual labels:  parsing

Grammophone

This is a client-side web app for analyzing and transforming context-free grammars. It was developed with the support and guidance of Robin Cockett at the Univerity of Calgary, and it's based on his Context Free Grammar Checker.

Building the app

Rake and Sprockets are used to concatenate the JavaScript source files, compile templates, etc. Install sprockets with gem install sprockets and build the app with the default rake task, just rake.

jison is used to build the app's grammar specification parser, but the parser (src/parser.js) is checked into the repository, so you don't have to install jison.

For development, a Rack application is provided which rebuilds the application on every request (see config.ru). Install Rack with gem install rack and use the rackup command to start. By default, the application is available at http://localhost:9292/.

Tests

Tests can be run by starting the development Rack application with rackup, and then opening one of the test pages with your web browser. For example, http://localhost:9292/test/parsing.html runs the parser tests. Results appear in the browser console.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].