pegjs/spec
David Majda 5e146fce38 Text nodes: Implement text nodes
Implement a new syntax to extract matched strings from expressions. For
example, instead of:

  identifier = first:[a-zA-Z_] rest:[a-zA-Z0-9_]* { return first + rest.join(""); }

you can now just write:

  identifier = $([a-zA-Z_] [a-zA-Z0-9_]*)

This is useful mostly for "lexical" rules at the bottom of many
grammars.

Note that structured match results are still built for the expressions
prefixed by "$", they are just ignored. I plan to optimize this later
(sometime after the code generator rewrite).
2012-12-02 17:05:13 +01:00
..
compiler/passes Text nodes: Implement text nodes 2012-12-02 17:05:13 +01:00
vendor/jasmine Jasmine: Initial infrastructure 2012-05-06 18:39:47 +02:00
generated-parser.spec.js Text nodes: Implement text nodes 2012-12-02 17:05:13 +01:00
helpers.js Jasmine: Convert |computeParams| compiler pass tests 2012-05-06 19:05:38 +02:00
index.html Git repo npmization: Make the repo a npm package 2012-11-10 14:21:14 +01:00
parser.spec.js Text nodes: Implement text nodes 2012-12-02 17:05:13 +01: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).