Commit graph

749 commits

Author SHA1 Message Date
Max Brunsfeld
7ee5eaa16a Rename node accessor methods
Instead of child() vs concrete_child(), next_sibling() vs next_concrete_sibling(), etc,
the default is switched: child() refers to the concrete syntax tree, and named_child()
refers to the AST. Because the AST is abstract through exclusion of some nodes, the
names are clearer if the qualifier goes on the AST operations
2015-09-08 23:16:24 -07:00
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
e386c634aa Remove unused Grammar methods 2015-09-03 17:19:43 -07:00
Max Brunsfeld
0600f31847 🎨 Remove weird reference variables 2015-09-03 17:13:56 -07:00
Max Brunsfeld
eb8ef59869 Move corpus files to fixtures/corpus directory 2015-09-02 17:04:04 -07:00
Max Brunsfeld
bc0e290c17 Don't use delegating constructor for MetadataRange 2015-09-02 16:49:31 -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
76e2067ee0 Remove unused metadata key 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
6933d7b425 🎨 naming conventions 2015-08-16 20:05:47 -07:00
Max Brunsfeld
3e17172f6e Remove unnecessary conditional 2015-08-16 10:54:02 -07:00
Max Brunsfeld
d910a2d0e7 Rename node position to offset 2015-08-16 10:51:34 -07:00
Max Brunsfeld
12582d5e96 Update todo 2015-08-16 10:49:52 -07:00
Max Brunsfeld
553ef6674f Rename TreeOptionsWrapper -> TreeOptionsSingleton 2015-08-16 10:32:12 -07:00
Max Brunsfeld
b853e0f2eb 🎨 node.c 2015-08-16 10:27:26 -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
507b7aef00 Remove recursion in ts_node_child 2015-08-14 16:34:12 -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
da7eb1496b Clean up node.c 2015-08-12 13:41:22 -07:00
Max Brunsfeld
11d2121324 Update todo 2015-08-12 13:33:39 -07:00
Max Brunsfeld
c18351772a Auto-format: no single-line functions 2015-07-31 16:32:24 -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
f9b057f3a9 clang-format everything 2015-07-27 18:29: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
5d41d23ab1 Clean up extract_tokens 2015-07-19 11:46:30 -07:00
Max Brunsfeld
b51b7f922d Update TODO 2015-07-18 11:53:26 -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
6846b1316e handle_error: respect head argument 2015-07-10 15:17:54 -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
929897a78e Fix missing include 2015-07-09 23:09:46 -07:00