You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
David Majda 42d4fc6dd4 Get rid of two parser variable stacks
One stack is conceptually simpler, requires less code and will make a
transition to a register-based machine easier.

Note that the stack variables are now named a bit incorrectly
(|result0|, |result1|, etc. even when they store also parse positions).
I didn't bother with renaming because a transition to a register-based
machine will follow soon and the names will change anyway.

The speed/size impact is insignificant.

Speed impact
------------
Before:     839.05 kB/s
After:      839.67 kB/s
Difference: 0.07%

Size impact
-----------
Before:     949783 b
After:      961578 b
Difference: 1.24%

(Measured by /tools/impact with Node.js v0.6.18 on x86_64 GNU/Linux.)
12 years ago
..
compiler/passes Get rid of two parser variable stacks 12 years ago
vendor/jasmine Jasmine: Initial infrastructure 12 years ago
README Jasmine: Initial infrastructure 12 years ago
generated-parser.spec.js Change ordering of "action" code 12 years ago
helpers.js Jasmine: Convert |computeParams| compiler pass tests 12 years ago
index.html Replace variable name computations by computations of indices 12 years ago
parser.spec.js Change ordering of "literal", "class" and "any" code 12 years ago

README

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. Start a web server and make it serve the PEG.js root directory (one level
     up from this one).

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

  3. Watch the specs pass (or fail).

If you have Python installed, you can just run the following command in the
PEG.js root directory

  python -m SimpleHTTPServer

and load http://localhost:8000/spec/ in your browser.

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

  1. Make sure you have Node.js and the "jasmine-node" npm pacakge installed.

  2. Run the following command:

       jasmine-node --verbose .

  3. Watch the specs pass (or fail).