node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



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