Commit graph

1780 commits

Author SHA1 Message Date
Max Brunsfeld
daf2c01d8b Add docs section about hidden rules 2018-03-05 09:35:52 -08:00
Max Brunsfeld
60eacbc7ff Delete .dot file after successfully generating SVGs 2018-03-05 09:35:12 -08:00
Max Brunsfeld
dbc0c208f4 Add missing initialization of parser's in_ambiguity state 2018-03-02 15:25:39 -08:00
Max Brunsfeld
52087de4f0 Remove the concept of fragile reductions
They were a vestige of when Tree-sitter did sentential form-based
incremental parsing (as opposed to simply state matching). This was
elegant but not compatible with GLR as far as I could tell.
2018-03-02 14:51:54 -08:00
Max Brunsfeld
07fa3eb386 Fix capture of corpus descriptions in integration tests 2018-03-02 11:27:41 -08:00
Max Brunsfeld
fd77bf49a3 Add explanation of alias function in parsers doc 2018-03-02 11:09:53 -08:00
Max Brunsfeld
a8d539023d Handle subdirectories existing in parsers' examples folders 2018-03-02 11:04:08 -08:00
Max Brunsfeld
d3ac345644 When parsing corpus, anchor header pattern to line start 2018-03-02 09:46:33 -08:00
Max Brunsfeld
82c7e170b3 Fix case where loop was created in the parse stack
Fixes #133
2018-03-02 09:05:20 -08:00
Max Brunsfeld
32ef3e001a Account for epsilon external tokens when merging parse states
Do not merge a token T into a parse state S if S contains
external tokens that can be *followed* by tokens that could
be shadowed by T.

At this point, the only automated test for this logic is via
the bash grammar, in which the `]` token should not be merged
into states in which `_concat` is valid, because `_concat`
can be followed by a `_special_characters` token, and `]`
would shadow `_special_characters`.
2018-02-28 14:47:04 -08:00
Max Brunsfeld
dbecd9521f Add table of contents to docs pages 2018-02-26 17:42:42 -08:00
Max Brunsfeld
b357ecd9b8 Describe DSL, precedence in parsers doc
[ci skip]
2018-02-26 13:55:13 -08:00
Max Brunsfeld
70cd827f3c Talk about tree-sitter generate command in parsers doc
[ci skip]
2018-02-26 11:37:22 -08:00
Max Brunsfeld
a8d198f77c Expand the creating-parsers document
[ci skip]
2018-02-26 11:19:45 -08:00
Max Brunsfeld
a7d49b4d98 Fix wording in creating-parsers doc 2018-02-26 00:43:34 -08:00
Max Brunsfeld
10a3cbd814 Move grammar schema to src folder
Now that there's a docs folder that contains actual docs.
2018-02-26 00:40:20 -08:00
Max Brunsfeld
e3e7c8ed9d Start work on grammar writing doc
[ci skip]
2018-02-26 00:38:54 -08:00
Max Brunsfeld
a2aa64ec97 Start work on github pages site
[ci skip]
2018-02-24 21:39:33 -08:00
Max Brunsfeld
da20ddf70e
Tweak README 2018-02-19 14:16:11 -08:00
Max Brunsfeld
16a45d4aa4 Fix hole in logic for terminating tree balancing
It's important that the repetition nodes have a child count of 2,
because we assign to their second child. We could maybe generalize
this to allow balancing in the presence of 'extra' nodes like comments
and errors, but this might be complicated.
2018-02-16 12:44:30 -08:00
Max Brunsfeld
2daae48fe0 Handle conflicts in repeat rules after external tokens
Signed-off-by: Rick Winfrey <rewinfrey@github.com>
2018-02-14 11:24:51 -08:00
Max Brunsfeld
facafcd6e4 Pass row/column position to input seek method 2018-02-14 07:31:49 -08:00
Max Brunsfeld
8b70cb85f7
Merge pull request #128 from tree-sitter/mb-balanced-repetition-trees
Rebalance repetition trees after parsing
2018-02-12 16:40:04 -08:00
Max Brunsfeld
134c455b80 Simplify logic for terminating tree balancing 2018-02-12 12:13:21 -08:00
Max Brunsfeld
299a146b66 Balance repetition trees after parsing 2018-02-12 11:41:56 -08:00
Max Brunsfeld
8c29841adf Represent repetitions with associative structure 2018-02-12 11:41:56 -08:00
Max Brunsfeld
f8704d28da Log changed ranges when reparsing 2018-01-26 15:40:07 -08:00
Max Brunsfeld
cd110f6578
Merge pull request #127 from tree-sitter/halt-on-error-before-inserting-missing
Do not insert missing tokens if halt_on_error option is passed
2018-01-24 14:25:33 -08:00
Max Brunsfeld
46dcd53090 Do not insert missing tokens if halt_on_error option is passed 2018-01-24 14:04:55 -08:00
Max Brunsfeld
3bda284656 Add Practical Algorithms thesis to references in README 2018-01-23 17:20:15 -08:00
Max Brunsfeld
919c9d8715 Ensure root node has a null parent 2018-01-23 17:20:15 -08:00
Max Brunsfeld
b520bdd2d5
Merge pull request #126 from tree-sitter/mb-fix-epsilon-rule-loophole
Don't allow an epsilon start rule if it is used in other rules
2018-01-23 17:19:55 -08:00
Max Brunsfeld
2e4f76c164 Don't allow an epsilon start rule if it is used in other rules 2018-01-23 17:05:28 -08:00
Max Brunsfeld
7cc5e4c8e6
Merge pull request #124 from amilajack/patch-1
Changed travis repo badge to svg
2018-01-10 14:45:56 -08:00
Amila Welihinda
476b6d31b1
Changed travis repo badge to svg 2018-01-10 13:44:23 -08:00
Max Brunsfeld
dafa897021 Bail on error recovery if too many alternative parses have already completed 2018-01-09 17:08:36 -08:00
Max Brunsfeld
e451aaa4b8
Merge pull request #123 from tree-sitter/child-for-byte
Add methods for finding a child node that spans a given position
2018-01-09 14:25:35 -08:00
Max Brunsfeld
315dff3285 Add an API for getting a node's child index 2018-01-09 14:01:36 -08:00
Max Brunsfeld
f653f2b3bb Add ts_node_first_{child,named_child}_for_byte methods 2018-01-09 13:44:59 -08:00
Max Brunsfeld
ee9df753ff
Merge pull request #119 from tree-sitter/recover-by-inserting-missing-tokens
Add the ability to recover from errors by inserting missing tokens
2017-12-29 20:32:21 -08:00
Max Brunsfeld
1e04489e50 Fix error in handling of padding in get_changed_ranges 2017-12-29 18:02:06 -08:00
Max Brunsfeld
f3c3fd3c9e Make it easier to enable/disable logging in get_changed_ranges 2017-12-29 18:01:42 -08:00
Max Brunsfeld
13adfe4927 Update error corpus 2017-12-29 16:21:04 -08:00
Max Brunsfeld
21a88b1731 Don't count less-far-along versions in better_version_exists method 2017-12-29 16:10:43 -08:00
Max Brunsfeld
d3c85f288d Start work on repairing errors by inserting missing tokens 2017-12-29 15:11:00 -08:00
Max Brunsfeld
f2dc620610 Extract parser__recover_to_state method 2017-12-29 15:10:59 -08:00
Max Brunsfeld
adf47e2b57 Fix invalid usage of 'extra' field on non-shift parse action 2017-12-29 11:46:41 -08:00
Max Brunsfeld
d9094e8146 Consolidate more logic into do_potential_reductions method 2017-12-28 15:49:48 -08:00
Max Brunsfeld
777aca25c8 Fix errors in test script 2017-12-28 15:49:34 -08:00
Max Brunsfeld
6304a3bcd1 Make it easier to run tests with debug graphs 2017-12-28 12:41:23 -08:00