Phil Turnbull
269b1a0864
Update repo for libFuzzer
...
libFuzzer has now been broken out from LLVM and can be built separately
2018-03-12 13:08:58 -07:00
Phil Turnbull
547a71899c
Allow extra libFuzzer arguments to script/reproduce
2018-03-12 12:54:06 -07:00
Phil Turnbull
bc192d95ca
Build fuzzer in 'halt' and 'recover' modes
...
Build each language fuzzer in two modes (halt_on_error=true and
halt_on_error=false) and use different timeouts for each fuzzer.
Also merge the run-fuzzer and reproduce scripts so they use identical
values of ASAN_OPTIONS/UBSAN_OPTIONS/etc0
2018-03-02 10:13:13 -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
Max Brunsfeld
eee3db08d2
Avoid repeated calls to {start,end}_point in descendant_for_point_range
2017-12-27 11:55:52 -08:00
Max Brunsfeld
1c25aafc82
Merge pull request #118 from tree-sitter/slab-allocation
...
Allocate and free trees using an object pool
2017-12-27 11:42:01 -08:00
Max Brunsfeld
172cbb2d22
Fix infinite loop due to skipping empty tokens during error recovery
2017-12-27 11:18:06 -08:00
Max Brunsfeld
2625c3a96c
Remove dead code in string_input.c
2017-12-27 10:34:29 -08:00