Max Brunsfeld
245daffbc4
Add {next,prev}_concrete_sibling Node methods
2015-09-08 21:43:37 -07:00
Max Brunsfeld
c3f3f19ea8
Add concrete_child and concrete_child_count Node methods
2015-09-08 09:53:26 -07:00
Max Brunsfeld
557c8c7f28
Remove unnecessary test helpers
2015-09-06 17:07:04 -07:00
Max Brunsfeld
f9316933ad
Refactor logic for marking '_'-prefixed rules as hidden
2015-09-06 16:53:13 -07:00
Max Brunsfeld
9591c88f39
In runtime, distinguish between anonymous and hidden nodes
2015-09-06 00:12:37 -07:00
Max Brunsfeld
5982b77c97
In compiler, distinguish between anonymous tokens and hidden rules
2015-09-05 22:28:55 -07:00
Max Brunsfeld
4b270c8604
Use 2-space indent in example grammars
2015-09-03 18:01:30 -07:00
Max Brunsfeld
bd77ab1ac9
Move public rule functions out of rule namespace
...
This way, there's only one public namespace: tree_sitter
2015-09-03 17:49:20 -07:00
Max Brunsfeld
eb8ef59869
Move corpus files to fixtures/corpus directory
2015-09-02 17:04:04 -07:00
Max Brunsfeld
53926c467e
Don't automatically hide singleton nodes
2015-09-02 16:36:29 -07:00
Max Brunsfeld
acf9280eda
Make expression and statement rules hidden in javascript grammar
2015-09-02 13:05:54 -07:00
Max Brunsfeld
97bb7a26cf
Fix precedence calculations when building parse table
...
* Recurse into choice rules
* Compute reduction precedence differently than shift precedence
2015-09-02 13:05:54 -07:00
Max Brunsfeld
14d7ebb7da
Leave newlines in javascript test programs
2015-08-23 10:42:06 -07:00
Max Brunsfeld
21258e6a9e
Remove 'document' wrapper node
2015-08-22 10:48:34 -07:00
Max Brunsfeld
d910a2d0e7
Rename node position to offset
2015-08-16 10:51:34 -07:00
Max Brunsfeld
a5d73ed676
Store indices on nodes to speed up traversal methods
2015-08-15 23:35:20 -07:00
Max Brunsfeld
d70a7227a1
Don't return invisible nodes from ts_node_find_for_range
2015-08-14 20:10:09 -07:00
Max Brunsfeld
25af9a3adf
Don't store visible children on trees
2015-08-14 16:11:37 -07:00
Max Brunsfeld
8a9626bfc5
Simplify storage of position on nodes
2015-08-14 14:48:29 -07:00
Max Brunsfeld
e89ec7c85e
Whitespace
2015-07-31 16:29:01 -07:00
Max Brunsfeld
54e40b8146
Rework AST access API: reduce heap allocation
2015-07-31 15:47:48 -07:00
Max Brunsfeld
feb46302f3
Rename 'star' -> 'pointer' in C grammar
...
Now that bug is fixed that prevented tokens from working properly when
used anonymously and as named rules
2015-07-30 17:27:49 -07:00
Max Brunsfeld
93259435c8
Handle tokens that appear both anonymously and as named rules
2015-07-30 17:24:08 -07:00
Max Brunsfeld
a7729c42c9
Whitespace
2015-07-29 21:47:48 -07:00
Max Brunsfeld
766e3bab2c
Use 2-space continuation indent consistently in specs
2015-07-27 18:18:58 -07:00
Max Brunsfeld
31b2db12d2
Remove custom LexicalGrammar and SyntaxGrammar constructors
2015-07-19 16:12:11 -07:00
Max Brunsfeld
32e79700bf
Rename SpyReader -> SpyInput
2015-07-16 17:32:19 -07:00
Max Brunsfeld
958ace429f
Fix buffer overflow in SpyReader
2015-07-16 17:29:16 -07:00
Max Brunsfeld
0b1d70db34
Always resolve ambiguities immediately
...
No more ambiguity nodes.
Also, when merging parse stacks, merge their successors if needed.
2015-07-15 13:15:11 -07:00
Max Brunsfeld
8c5c695f5a
Reduce nesting in parse-stack spec
2015-07-10 17:50:38 -07:00
Max Brunsfeld
d6a6b0a19b
Represent ParseItemSets as ordered maps
...
This way, reductions will be added in a deterministic order
when constructing the parse table.
2015-07-10 09:17:42 -07:00
Max Brunsfeld
aff8bc3266
Split parse stack when there are multiple parse actions
2015-07-09 23:09:33 -07:00
Max Brunsfeld
f26ddf5187
Fix symbol name for ambiguity nodes
2015-07-08 17:31:21 -07:00
Max Brunsfeld
aabcb10cfb
Respect expected_conflicts field when building parse table
2015-06-28 16:22:31 -05:00
Max Brunsfeld
c9a482bbf3
Add expected_conflicts field to grammar
2015-06-26 16:14:08 -05:00
Max Brunsfeld
36d9c3be14
Organize parse-stack spec
2015-06-18 17:03:17 -07:00
Max Brunsfeld
442db56b92
Use graph-structured parse stack in parser
...
Not using the splitting feature yet.
2015-06-18 17:03:17 -07:00
Max Brunsfeld
aaaa1c8a5d
Encapsulate ParseStackNodes
2015-06-18 17:03:17 -07:00
Max Brunsfeld
6330ae997b
Reduce along all possible parse-stack paths
2015-06-18 17:03:17 -07:00
Max Brunsfeld
381f89f8ba
Create ambiguity nodes when joining stack heads
2015-06-18 17:03:16 -07:00
Max Brunsfeld
1ca5f4ab15
Clarify variable name in spec
2015-06-18 17:03:16 -07:00
Max Brunsfeld
b9dc92c36b
Add EqualsTree matcher
2015-06-18 17:03:16 -07:00
Max Brunsfeld
9e57f2b881
Start work on graph-structured stack
2015-06-18 17:03:16 -07:00
Max Brunsfeld
755894b44d
Allow multiple parse actions in parse table
2015-06-18 17:03:16 -07:00
Max Brunsfeld
3d0890eecf
Preserve tokens within errors
2015-06-15 15:26:06 -07:00
Max Brunsfeld
44774119bf
Use all caps for built-in symbol names
2015-06-15 15:26:05 -07:00
Max Brunsfeld
d5ce3a9b5a
lexer: in error mode, continue until token is found
2015-06-15 15:26:05 -07:00
Max Brunsfeld
f7e4445358
Handle goto actions after reductions in a more standard way
...
Rather than letting the reduced tree become the new lookahead symbol,
and re-adding it to the stack via a subsequent shift action, just
add it to the stack as part of the reduce action. This is more in
line with the way LR is described traditionally.
2015-05-27 10:53:02 -07:00
Max Brunsfeld
fd97b8a237
Dedup auxiliary repeat rules from different source rules
2015-05-02 20:42:47 -07:00
Max Brunsfeld
a54d293317
Include 'goal' non-terminal names in conflict description
2015-04-16 17:43:30 -07:00