86769a6c5c
Before this commit, the |?| operator returned an empty string upon unsuccessful match. This commit changes the returned value to |null|. It also updates the PEG.js grammar and the example grammars, which used the value returned by |?| quite often. Returning |null| is possible because it no longer indicates a match failure. I expect that this change will simplify many real-world grammars, as an empty string is almost never desirable as a return value (except some lexer-level rules) and it is often translated into |null| or some other value in action code. Implements part of #198. |
||
---|---|---|
.. | ||
compiler/passes | ||
vendor/jasmine | ||
generated-parser.spec.js | ||
helpers.js | ||
index.html | ||
parser.spec.js | ||
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. 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).