pegjs/spec
David Majda 39084496ca Expose the parser object in action/predicate code
The action/predicate code didn't have access to the parser object. This
was mostly a side effect actions/predicates being implemented as nested
functions, in which |this| is a reference to the global object (an ugly
JavaScript quirk). The initializer, being implemented differently, had
access to the parser object via |this|, but this was not documented.

Because having access to the parser object can be useful, this commits
introduces a new |parser| variable which holds a reference to it, is
visible in action/predicate/initializer code, and is properly
documented.

See also:

  https://groups.google.com/forum/#!topic/pegjs/Na7YWnz6Bmg
2014-04-19 21:00:40 +02:00
..
compiler/passes PEG.js grammar: Disallow empty sequences 2014-04-04 11:25:20 +02:00
vendor/jasmine Upgrade jasmine and jasmine-node 2013-08-22 09:07:19 +02:00
generated-parser.spec.js Expose the parser object in action/predicate code 2014-04-19 21:00:40 +02:00
helpers.js .jshintrc: Add the "forin" option & fix fallout 2013-12-14 21:50:43 +01:00
index.html Update version to 0.8.0 2013-12-24 08:24:35 +01:00
parser.spec.js PEG.js grammar: Remove reserved word detection 2014-04-13 20:32:39 +02:00
README Git repo npmization: Make the repo a npm package 2012-11-10 14:21:14 +01:00

PEG.js Spec Suite
=================

This is the PEG.js spec suite. It ensures PEG.js works correctly. All specs
should always pass on all supported platforms.

Running in a browser
--------------------

  1. Make sure you have Node.js and all the development dependencies specified
     in package.json installed.

  2. Run the following command in the PEG.js root directory (one level up from
     this one):

       make browser

  3. Start a web server and make it serve the PEG.js root directory.

  4. Point your browser to an URL corresponding to the index.html file.

  5. Watch the specs pass (or fail).

If you have Python installed, you can fulfill steps 3 and 4 by running the
following command in the PEG.js root directory

  python -m SimpleHTTPServer

and loading http://localhost:8000/spec/index.html in your browser.

Running from a command-line
---------------------------

  1. Make sure you have Node.js and all the development dependencies specified
     in package.json installed.

  2. Run the following command in the PEG.js root directory (one level up from
     this one):

       make spec

  3. Watch the specs pass (or fail).