Max Brunsfeld
820cbece20
Pretty-print unexpected EOF errors properly
2016-09-03 22:45:18 -07:00
Max Brunsfeld
b6e2bed761
Fix specs after js grammar change
2016-09-01 17:45:35 -07:00
Max Brunsfeld
88e8cab7f9
Remove all mention of the ERROR rule type
2016-09-01 16:34:44 -07:00
Max Brunsfeld
94807f0eb0
Merge pull request #26 from tree-sitter/forward-move-error-recovery
...
Overhaul error recovery
2016-09-01 12:31:13 -07:00
Max Brunsfeld
c1b6d9f5be
Improve error comparison criteria
...
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-01 11:39:23 -07:00
Max Brunsfeld
e0b0e29a2b
Update parse count correctly when repairing errors & undoing reductions
2016-09-01 10:04:20 -07:00
Max Brunsfeld
71fdd9aa49
Remove error_depth tracking from the stack
2016-08-31 17:30:16 -07:00
Max Brunsfeld
7483da4184
Add push_count to stack, use it in error comparisons
2016-08-31 17:29:14 -07:00
Max Brunsfeld
e04ac7b13d
Ensure the correct error stats are used when aborting versions immediately
2016-08-31 14:29:34 -07:00
Max Brunsfeld
0faae52132
Fix some inconsistencies in error cost calculation
...
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-31 10:51:59 -07:00
Max Brunsfeld
883a7c8266
In script/test, style SVG graphs for readability
2016-08-30 13:02:27 -07:00
Max Brunsfeld
1d0f6c3cc0
Rename error_size -> error_cost
2016-08-30 11:09:12 -07:00
Max Brunsfeld
52ccebbf80
Rename error_depth -> error_count
2016-08-30 09:44:40 -07:00
Max Brunsfeld
1d617ab5e0
Allow reductions based on error token, skipping some preceding content
2016-08-29 17:34:51 -07:00
Max Brunsfeld
31d1160e21
Base error costs on top-level trees skipped and lines of text skipped
...
Rather than on the total number of tokens skipped
2016-08-29 17:06:23 -07:00
Max Brunsfeld
27c9cb4175
Show anonymous tokens in quotes in dot graphs
...
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-29 16:39:14 -07:00
Max Brunsfeld
de9b9db7c5
Remove accidentally-committed reference stack files
2016-08-29 13:07:46 -07:00
Max Brunsfeld
f209c24cf6
Trim trailing newlines from corpus texts
2016-08-29 13:00:28 -07:00
Max Brunsfeld
04de7cc208
Make script/test -S flag work when there are assertion failures
2016-08-29 12:37:58 -07:00
Max Brunsfeld
e7ed92f1df
Replace ts_parser -> parser
2016-08-29 12:08:58 -07:00
Max Brunsfeld
607366a422
Add test script flag for piping stderr to dot to make an svg
2016-08-29 11:51:47 -07:00
Max Brunsfeld
e947d7e2ad
Adjust test assertions for subtly different recoveries
2016-08-29 11:23:52 -07:00
Max Brunsfeld
1b8843dd41
Perform all possible reductions recursively upon detecting an error
2016-08-29 11:23:35 -07:00
Max Brunsfeld
a3c943d88e
Fix failure to find repairs when extra tokens precede the detection point
2016-08-29 11:23:35 -07:00
Max Brunsfeld
dcf3beb393
Abandon parse versions with > 1 error more than the best version
2016-08-29 09:31:52 -07:00
Max Brunsfeld
4182de2975
Include each symbol's numeric value in generated code
...
Sometimes these are useful for debugging
2016-08-26 17:40:22 -07:00
Max Brunsfeld
fbad21be15
Merge branch 'master' into forward-move-error-recovery
2016-08-24 22:23:52 -07:00
Max Brunsfeld
7feff9643c
Add .clang_complete file for Atom
2016-08-16 12:05:11 -07:00
Max Brunsfeld
4e6e996a76
Simplify skipping of reduced subtrees after errors
2016-08-15 17:37:00 -07:00
Max Brunsfeld
c067b30ce8
Fix handling of errors while in error state
2016-08-06 21:25:35 -07:00
Max Brunsfeld
b561000b2a
When there's no error on the stack, keep only the best version
2016-08-06 21:24:20 -07:00
Max Brunsfeld
c984876e3a
Remove stack versions that are worse than the finished tree
2016-08-06 21:22:44 -07:00
Max Brunsfeld
4feceabd58
Merge pull request #32 from tree-sitter/parse-table-compression
...
Parse table compression
2016-07-31 21:45:46 -07:00
Max Brunsfeld
f8c2e9d908
Include tree's original parse state in debug graphs
2016-07-31 21:35:53 -07:00
Max Brunsfeld
87ca3cb099
Reuse nodes based on state matching, not sentential form validity
...
I think that state matching is the only correct strategy for incremental
node reuse that is compatible with the new error recovery algorithm. It's
also simpler than the sentential-form algorithm. With the compressed parse
tables, state matching shouldn't be too conservative of a test.
2016-07-31 21:31:19 -07:00
Max Brunsfeld
0ee1994078
Don't have both shift and shift-extra actions in recovery states
2016-07-17 13:35:58 -07:00
Max Brunsfeld
1faa7c60f9
Log stack after pruning halted versions
2016-07-17 10:44:08 -07:00
Max Brunsfeld
1c66d90203
Mark repeat symbols as anonymous
2016-07-17 10:44:08 -07:00
Max Brunsfeld
fa8993460e
Don't reuse unexpected tokens for now
2016-07-17 07:25:13 -07:00
Max Brunsfeld
285f2272fd
Move random string helpers into a separate file
2016-07-17 06:22:05 -07:00
Max Brunsfeld
9c37c06ec7
Remove unnecessary parser debugger accessors
2016-07-04 12:20:23 -07:00
Max Brunsfeld
c3a242740b
Allow lookahead to be broken down further after performing reductions
2016-07-04 12:20:23 -07:00
Max Brunsfeld
0e2bbbd7ee
Compress parse table by allowing reductions w/ unexpected lookaheads
2016-07-04 12:20:23 -07:00
Max Brunsfeld
d554fab5b5
Remove unused tree state constant
2016-06-27 14:39:12 -07:00
Max Brunsfeld
8c26d99353
Store error recovery actions in the normal parse table
2016-06-27 14:07:47 -07:00
Max Brunsfeld
08e47001f1
Silence mismatched delete warning in spec helper
2016-06-27 13:38:49 -07:00
Max Brunsfeld
bf245f016c
Check for better stack versions before skipping a node after reducing it
2016-06-26 22:51:48 -07:00
Max Brunsfeld
9538b5b879
Don't count extra trees toward stack versions' error costs
2016-06-26 22:46:40 -07:00
Max Brunsfeld
877fe1f682
Fix incorrect exta entry in symbol metadata table
2016-06-26 22:14:31 -07:00
Max Brunsfeld
6fd3edceae
Fix logic for inserting leading & trailing extras into root node on acceptance
2016-06-26 11:57:42 -07:00