shans / GrammKit

Generate diagrams for parser grammars

Home Page:http://dundalek.com/GrammKit/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GrammKit

GrammKit is a tool for generating syntax diagrams (also known as railroad diagrams) for parser grammars. Check out the online version.

Currently these grammar formats are supported:

Is uses the railroad-diagrams library to generate SVG images.

Use the command line utility

npm install -g grammkit

To generate static html page run grammkit yourgrammar.peg.

To generate markdown file run grammkit -t md yourgrammar.peg. This will generate separate SVG files and a markdown file that includes them.

Use the library

npm install grammkit

var grammkit = require('grammkit');
var parse = require('pegjs/lib/parser').parse;

var grammar = parse('start = left ("+" / "-") right');
grammkit.diagram(grammar.rules[0]);
// => '<svg>...</svg>'

The SVG renders as:

Diagram Example

Development

Clone repo and install dependencies with npm install.

Run npm run dev and open browser at http://localhost:3000/dist/ .

Here is an overview how the format conversion works:

Overview

Changelog

v0.6.0

  • Add support for ohm grammars
  • Choose different formats in web app and cli

Related projects

List of other project worth checking out.

About

Generate diagrams for parser grammars

http://dundalek.com/GrammKit/

License:The Unlicense


Languages

Language:JavaScript 91.0%Language:HTML 6.7%Language:CSS 2.2%