Max Brunsfeld
f6da44fdbb
Add ts_node_descendant_for_byte_range
2016-09-06 21:33:19 -07:00
Max Brunsfeld
70756034f1
Allow descendant queries by both 1D and 2D coordinates
2016-09-06 21:17:26 -07:00
Max Brunsfeld
096ac2d4b6
Rename ts_document_set_debugger -> ts_document_set_logger
2016-09-06 17:40:26 -07:00
Max Brunsfeld
64a6c9db0e
Rename ts_document_make -> ts_document_new
2016-09-06 17:26:18 -07:00
Max Brunsfeld
57c0170dd3
Merge pull request #36 from tree-sitter/fix-extra-token-ambiguity-handling
...
Fix extra token ambiguity handling
2016-09-06 10:33:47 -07:00
Max Brunsfeld
587bbe998c
Don't reuse non-trivial subtrees when stack is split
2016-09-06 10:23:26 -07:00
Max Brunsfeld
e2ca55c918
Avoid unnecessary TSInput calls when resetting lexer within an existing chunk
2016-09-06 10:23:07 -07:00
Max Brunsfeld
b76574e01c
Handle ambiguities between extra and non-extra tokens using normal GLR splitting
2016-09-06 10:22:16 -07:00
Max Brunsfeld
d31934ac77
Avoid potential use after free in stack__iter
2016-09-05 21:41:33 -07:00
Max Brunsfeld
f8b85965a3
Merge pull request #35 from tree-sitter/handle-invalid-chars-at-eof
...
Handle invalid chars at EOF
2016-09-04 11:05:11 -07:00
Max Brunsfeld
4f0c83ba01
Move logic for lexical error handling outside of lexer functions
...
This way, less logic needs to be exposed in parser.h
2016-09-03 23:40:57 -07:00
Max Brunsfeld
1c52c30111
Fix unexpected EOF errors getting lost
2016-09-03 22:46:14 -07:00
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