Max Brunsfeld
e710a14244
Simplify ts_language_has_actions so it allows non-terminals
...
Fixes #933
2021-02-26 14:52:41 -08:00
Max Brunsfeld
c25fa9910e
Fix query match failure when indefinite steps have no captures
...
Fixes #937
2021-02-25 21:41:49 -08:00
Max Brunsfeld
774ae5e3d5
In parse tables, store production ids as 16 bits
...
Also remove the use of bitfields from the parse table format.
In all cases, bitfields were not necessary to achieve the
current binary sizes. Avoiding them makes the binaries more
portable.
There was no way to make this change backward-compatible,
so we have finally dropped support for parsers generated
with an earlier version of Tree-sitter.
At some point, when Atom adopts this version of Tree-sitter,
this change will affect Atom users who have installed packages
using third-party Tree-sitter parsers. The packages will need
to be updated to use a regenerated version of the parsers.
2021-02-25 16:12:31 -08:00
Max Brunsfeld
73e252e39b
Add unit test for child_by_field_name w/ hidden nodes
2021-02-10 16:14:24 -08:00
Max Brunsfeld
038f4fcef8
Merge pull request #890 from wkordalski/fix-child-by-field
...
Fix getting node by field name or ID.
2021-02-10 15:58:31 -08:00
Andrew Hlynskyi
6448053efa
parser.c - added backslash escaping in LOG_LOOKAHEAD to make it clear in case of \n
2021-02-08 13:33:54 +02:00
Andrew Hlynskyi
51f8b16bb0
parser.c - make LOG_LOKAHEAD simpler according to disscussion in PR #917
2021-02-08 13:32:15 +02:00
Andrew Hlynskyi
f92ad04824
parser.c - added LOG_LOOKAHEAD macro to escape \n in logging
2021-02-08 06:23:55 +02:00
Max Brunsfeld
6dbe6a3a90
Merge branch 'master' into actions-ci
2021-02-05 10:19:05 -08:00
Wojciech Kordalski
8e89b8cdb8
Fix getting node by field name or ID.
2021-01-22 18:23:50 +01:00
Aron Griffis
e13581b041
Fix build with GCC 11
...
It seems redundant to array_init() when the structure is zeroed already
in the static assignment. But probably the fact that this code juggles
between TSTreeCursor and TreeCursor, without using a union, leaves the
compiler unable to tell that it's been initialized.
Fixes https://github.com/tree-sitter/tree-sitter/issues/853
2020-12-22 15:19:35 -05:00
Max Brunsfeld
b661050a61
Simplify setup for enabling/disabling allocation recording in the C lib
2020-12-02 15:35:13 -08:00
Max Brunsfeld
99cd283e39
query: Fix detection of repeated field names
...
Fixes #790
2020-11-02 14:07:39 -08:00
ikrima
a99676282f
noop: touch file to retrigger github checks
2020-10-29 09:36:44 -07:00
ikrima
23530ca599
CR fixes: don't allow override of allocfn during testing
2020-10-29 09:23:58 -07:00
ikrima
336517fdc9
address CR comments
...
- replace _dflt with _default
- allow override in TREE_SITTER_TEST path
2020-10-29 09:17:19 -07:00
ikrima
3859e52198
add custom allocation override
2020-10-29 09:17:19 -07:00
Max Brunsfeld
c2c63baf5b
query: Fix escape sequence parsing in anonymous node patterns
...
Fixes #776
Fixes #760
2020-10-28 13:55:13 -07:00
Max Brunsfeld
2465207fee
Suppress false non-null error in subtree_clone
2020-10-25 09:13:12 -07:00
Max Brunsfeld
908b102786
Add more doc comments in the C lib
2020-10-23 12:15:44 -07:00
Max Brunsfeld
d533d1f076
Allocate parent nodes together with their child array
2020-10-23 12:15:44 -07:00
Anton Kochkov
3eee1d5376
Fix compilation with TinyCC
2020-10-21 15:41:19 +08:00
ikrima
50ff4376b4
fix: ts_subtree_string not using ts_malloc
2020-10-15 20:43:30 -07:00
Max Brunsfeld
84433494a5
Fix query analysis error for rules w/ required hidden tokens
...
Refs tree-sitter/node-tree-sitter#69
2020-10-12 09:46:18 -07:00
Hansraj Das
000455ee79
Multiple typo fixes
...
* This is a patch from neovim PR: https://github.com/neovim/neovim/pull/13063
2020-10-11 13:02:40 +05:30
Max Brunsfeld
857a9ed07b
query: Handle captured wildcard nodes at the root of patterns
2020-10-08 12:34:08 -07:00
Max Brunsfeld
d1c95193c1
query: Fix invalid use of slice::from_raw_parts
2020-10-05 12:08:53 -07:00
Max Brunsfeld
297e2bcb28
static query analysis: Fix handling of fields in hidden nodes
2020-09-23 16:55:48 -07:00
Max Brunsfeld
cb343cad5e
Avoid reusing the root node during incremental parsing
...
Fixes #712
2020-09-23 12:59:27 -07:00
Max Brunsfeld
a544200a6c
Simplify query code for matching supertypes
2020-09-23 11:55:03 -07:00
Max Brunsfeld
21c3bbc4b4
Account for supertypes during query analysis
2020-09-23 10:55:31 -07:00
Max Brunsfeld
b5a9adb555
Allow queries to match on supertypes
...
Co-authored-by: Ayman Nadeem <aymannadeem@github.com>
2020-09-21 12:34:48 -07:00
Max Brunsfeld
36a8821f3e
Fix behavior of the last child operator in tree queries
2020-09-02 12:10:04 -07:00
Max Brunsfeld
18150a1573
Merge pull request #644 from tree-sitter/query-pattern-is-definite
...
Analyze queries on construction to identify impossible patterns, and patterns that will definitely match
2020-09-02 10:28:21 -07:00
Max Brunsfeld
31a22fc627
In array.h, add comments and sort functions more logically
2020-09-02 10:02:34 -07:00
Björn Linse
04eacc44ef
avoid warnings for implicit fallthrough in switch statements
2020-08-26 10:04:08 +02:00
Björn Linse
00c470ab2a
Fix a few cases of Clang 10 with UBSAN detecting undefined behavior
...
Clang 10 considers adding any offset, including 0, to the null pointer
to be undefined behavior. `(void *)NULL + 0 = kaboom`.
2020-08-25 19:34:44 +02:00
Max Brunsfeld
4aba684d66
Control recursion depth explicitly during query analysis
2020-08-24 16:55:56 -07:00
Max Brunsfeld
315f87bbff
Remove unnecessary parameter from sorted array functions
2020-08-24 12:07:57 -07:00
Max Brunsfeld
2eb04094f8
Handle aliased parent nodes in query analysis
2020-08-21 14:12:04 -07:00
Max Brunsfeld
456b1f6771
Fix handling of alternations and optional nodes in query analysis
2020-08-20 16:28:54 -07:00
Max Brunsfeld
9daec9cb22
Tweak impossible pattern error messages
2020-08-20 13:35:11 -07:00
Max Brunsfeld
4301110c12
query: Indicate specific step that's impossible
2020-08-20 13:06:38 -07:00
Max Brunsfeld
d47346abc0
Avoid pushing duplicate start states in query analysis
2020-08-20 10:07:22 -07:00
Max Brunsfeld
aac75e35b1
Optimize iteration over state successors during query analysis
2020-08-19 14:56:57 -07:00
Max Brunsfeld
bd42729a41
query: Avoid early-returning captures due to predicates
2020-08-18 13:01:45 -07:00
Max Brunsfeld
604f9e8148
query: Assign is_definite correctly for steps within nested sub-patterns
2020-08-18 10:55:03 -07:00
Max Brunsfeld
91fc9f5399
Use is_definite flag in ts_query_cursor_next_capture
2020-08-17 16:50:59 -07:00
Max Brunsfeld
c3f9b2b377
Fix query analysis bugs found in ruby tags query
2020-08-17 09:57:06 -07:00
Max Brunsfeld
1ea29053e1
Merge branch 'master' into query-pattern-is-definite
2020-08-14 09:31:55 -07:00