David Majda
a0898388fb
/bin/pegjs: Avoid calling |process.openStdin|
...
While |process.openStdin| is not officially deprecated, it's no longer
documented and just using |process.stdin| and resuming it seems to be
the official way.
13 years ago
David Majda
de256105eb
/bin/pegjs: Don't close standard output
...
Avoids "Error: process.stdout cannot be closed" error when invoked
without file arguments.
13 years ago
David Majda
70e4166bb2
Fix typo in a comment in JavaScript example grammar
13 years ago
David Majda
46b2eaf3e3
Add |expected| and |found| properties to exceptions thrown by parsers
...
Based on a patch by Marcin Stefaniuk (marcin@stefaniuk.info ).
13 years ago
David Majda
e9d8dc8eba
More responsibility for building an error message into |SyntaxError|
13 years ago
David Majda
21c6d9ccd3
Add |offset| property to exceptions thrown by parsers
...
Based on a patch by Marcin Stefaniuk (marcin@stefaniuk.info ).
13 years ago
David Majda
8ae3eea7c4
Fix typo in JavaScript example grammar
...
Fixes GH-62.
13 years ago
David Majda
433c278e5d
Merge pull request #59 from jasondavies/typo
...
Fix typo in comment.
13 years ago
David Majda
791c495aec
Update embedded Codie to version 1.0.1
13 years ago
David Majda
fb5028eb90
Use |util| module instead of |sys|
...
|sys| emits a warning in Node.js 0.6.x.
13 years ago
David Majda
fa1523b651
Update version of Node.js and development dependencies in package.json
...
The new versions are the ones I test with.
13 years ago
Jason Davies
d386d3a351
Fix typo in comment.
13 years ago
David Majda
47969a2f61
Replace |for| loop iterating over sequence elements with |each|
13 years ago
David Majda
a19ea83ffa
Replace |for| loop iterating over compiler passes with |each|
13 years ago
David Majda
cd5490dee4
Make pass list customizable via |PEG.compiler.appliedPassNames| property
13 years ago
David Majda
8a0276ffb7
Unify checks and passes
...
There is no real reason to have them separated.
13 years ago
David Majda
6cd5bdc5e6
Passes now do not return anything (they always modify the AST in-place)
13 years ago
David Majda
3983f46d5d
Rename |reportMissingReferencedRules| check to |reportMissingRules|
...
The new name is shorter, there is no real loss of meaning.
13 years ago
David Majda
64d26e5db2
Make names of compiler checks and passes verbs
13 years ago
David Majda
2a82d863e5
Regenerate src/parser.js (forgot to do it in previous commit)
13 years ago
David Majda
8acea01525
Fix reported error position when part of the input is not consumed
...
Closes GH-48.
13 years ago
David Majda
c90e7f369b
Fix regexp for detecting command-line options in /bin/pegjs
...
Closes GH-51.
13 years ago
David Majda
5013f79e8d
Make "jake clean" and "jake distclean" check deleted directory existence
...
Closes GH-52.
13 years ago
David Majda
211a1116e4
Fix stack depth computations for empty sequences
...
Part of a fix for GH-53.
13 years ago
David Majda
afdcb6fc4f
Fix |posStackDepth| computation for rules
...
Rules by themselves do not need any variable for storing position.
Part of a fix for GH-53.
13 years ago
David Majda
756b6fc473
Fix |resultStackDepth| computation for sequences
...
The |1 + ...| was wrong -- sequence does not need its own variable since
it reuses the one used by the first item.
Part of a fix for GH-53.
13 years ago
David Majda
9c3da347cc
Fix string parsing tests
...
The tests were wrong because the |string| rule is not used to parse
literals but rule names.
13 years ago
David Majda
3421bdb813
Test trailing characters for strings and literals at correct places
13 years ago
David Majda
c639c1fc83
PEG.js grammar: Replace two instances of |string / ""| by |string?|
13 years ago
David Majda
c04af99df8
Implament case-insensitive class matching
13 years ago
David Majda
b540b2d460
Implement case-insensitive literal matching
13 years ago
David Majda
88c50a3e33
Add tests for zero- and one-char literals
...
We optimize these cases in the emitter so we should better test them.
13 years ago
David Majda
1c11e4aaa3
Split |literal| rule in the PEG.js grammar to |literal| and |string|
...
This is just a formality now but it will make sense later when literals
(but not strings) will allow "i" flag for case-insensitive matching.
13 years ago
David Majda
950cc80738
Few small README.md fixes
13 years ago
David Majda
da12c2f5d4
Compile Codie templates only once
13 years ago
David Majda
a5af9611a2
Introduce |context.delta| function to make creating contexts more DRY
13 years ago
David Majda
be3b87ec71
Refactor "grammar" emitter function a bit
13 years ago
David Majda
2b09a7116d
Refactor "rule" emitter function a bit
13 years ago
David Majda
131b6dd01f
Refactor "sequence" emitter function a bit
13 years ago
David Majda
f29ff236b8
Refactor "simple_and" emitter function a bit
13 years ago
David Majda
506d8107a1
Refactor "simple_not" emitter function a bit
13 years ago
David Majda
13ae52b2bf
Refactor "semantic_and" emitter function a bit
13 years ago
David Majda
9111020ca2
Refactor "semantic_not" emitter function a bit
13 years ago
David Majda
cc3bd4f310
Refactor "zero_or_more" emitter function a bit
13 years ago
David Majda
85c1b010b6
Refactor "one_or_more" emitter function a bit
13 years ago
David Majda
b5ca96dd48
Refactor "action" emitter function a bit
13 years ago
David Majda
50a0371e2d
Refactor "rule_ref" emitter function a bit
13 years ago
David Majda
eaba6b8a9d
Refactor "literal" emitter function a bit
13 years ago
David Majda
2120c908c7
Refactor "class" emitter function a bit
13 years ago
David Majda
0748fee1d3
Use Codie for code templates
...
This will allow moving some code into the templates later.
13 years ago