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
David Majda
38c25efde0
Use single quotes for code in the emitter
...
Strings with code should use single quotes so that double quotes (which
I generally prefer) could be used in the code itself without escaping.
13 years ago
David Majda
45c99f8f6b
Generate more efficient code for empty literals
...
Original patch by Wolfgang Kluge:
797173f676
13 years ago
David Majda
4de3cc1716
Fix comment typos
...
Original patch by Wolfgang Kluge:
07e0cfcc02
13 years ago
David Majda
eceda8b5e8
Use correct disjunction operator in |computeErrorPosition|
...
Original patch by Wolfgang Kluge:
6b793b33df
13 years ago
David Majda
cb2415a4fd
Fix output printed during test failures
...
Expected value was being printed instead of the actual one.
Original patch by Wolfgang Kluge:
1e875d4479
13 years ago
David Majda
50be1081e0
Sort JSHint options alphabetically
13 years ago
David Majda
ce40a8e815
benchmark/index.js: Use radix in |parseInt| call
...
Fixes the following JSHint error:
./benchmark/index.js: line 59, col 18, Missing radix parameter.
13 years ago
David Majda
c8c5187768
Make "jake hint" check benchmark/index.js
13 years ago
David Majda
11a44948ab
Extract JavaScript and CSS from benchmark/index.html into separate files
...
JavaScript is extracted to make it JSHintable, CSS is just for symmetry.
13 years ago
David Majda
8841c31d1b
benchamrk/runner.js: Add "()" to constructor invocations
...
Fixes the following JSHint errors:
./benchmark/runner.js: line 73, col 28, Missing '()' invoking a constructor.
./benchmark/runner.js: line 75, col 33, Missing '()' invoking a constructor.
13 years ago
David Majda
cad3013966
benchmark/runner.js: Add missing semicolon
...
Fixes the following JSHint error:
./benchmark/runner.js: line 21, col 42, Missing semicolon.
13 years ago
David Majda
17f62ae9e3
test/parser-test.js: Replace "\0" with "\x00"
...
Fixes the following JSHint errors:
./test/parser-test.js: line 353, col 54, Bad escapement.
./test/parser-test.js: line 384, col 54, Bad escapement.
./test/parser-test.js: line 436, col 60, Bad escapement.
./test/parser-test.js: line 437, col 60, Bad escapement.
./test/parser-test.js: line 472, col 50, Bad escapement.
13 years ago
David Majda
934bfa5eef
test/parser-test.js: Fix missing/unnecessary semicolons
...
Fixes the following JSHint errors:
./test/parser-test.js: line 49, col 4, Missing semicolon.
./test/parser-test.js: line 58, col 4, Missing semicolon.
./test/parser-test.js: line 77, col 2, Unnecessary semicolon.
./test/parser-test.js: line 137, col 23, Missing semicolon.
13 years ago
David Majda
d84f38c64b
test/parser-test.js: Fix comments that look like nested to JSHint
...
Fixes the following JSHint errors:
./test/parser-test.js: line 521, col 29, Nested comment.
./test/parser-test.js: line 521, col 29, Stopping, unable to continue. (87% scanned).
13 years ago
David Majda
34d19a7dc6
test/passes-test.js: Add missing semicolons
...
Fixes the following JSHint errors:
./test/passes-test.js: line 12, col 6, Missing semicolon.
./test/passes-test.js: line 25, col 4, Missing semicolon.
./test/passes-test.js: line 229, col 41, Missing semicolon.
13 years ago
David Majda
0fe5769024
test/checks-test.js: Avoid function definitions in loops
...
Fixes the following JSHint errors:
./test/checks-test.js: line 26, col 8, Don't make functions within a loop.
./test/checks-test.js: line 31, col 5, Don't make functions within a loop.
./test/checks-test.js: line 59, col 8, Don't make functions within a loop.
./test/checks-test.js: line 64, col 5, Don't make functions within a loop.
13 years ago