Skip to content

Latest commit

 

History

History
28 lines (24 loc) · 999 Bytes

README.md

File metadata and controls

28 lines (24 loc) · 999 Bytes

pegcoffee

Build Status endorse

pegcoffee is a PEG.js plugin for the post-0.7 plugin API that enables the use of CoffeeScript instead of JavaScript in your grammar files. Additionally, your code is given its own scope (the semi-hidden peg$coffee$scope object), giving @ or this much more intuitive behavior. You do not need to abuse the global scope to share state across actions and predicates, and coffee will safely scope any other variables to be local to the function.

To use from the console:

pegcoffee /path/to/grammar.pegcoffee

To use it via the API, you'd do something to the effect of:

PEG = require 'pegjs'
pegcoffee = require 'pegcoffee'
parser = PEG.buildParser "some grammar string",
  output: 'source'
  optimize: 'speed'
  plugins: [pegcoffee]
console.log parser