Commit graph

1080 commits

Author SHA1 Message Date
Max Brunsfeld
76d072545d Include out-of-context states starting with non-terminals 2016-03-02 20:58:39 -08:00
Max Brunsfeld
e7abfdd373 Prevent string assertion failures from creating later memory leak errors 2016-03-02 20:58:39 -08:00
Max Brunsfeld
e0c24e3be6 Remove old error recovery code 2016-03-02 20:58:39 -08:00
Max Brunsfeld
501e426d29 Add function exposing in-progress symbols for each state 2016-03-02 20:58:08 -08:00
Max Brunsfeld
c8d7c16f87 Use out-of-context states when in error parse state 2016-03-02 20:56:05 -08:00
Max Brunsfeld
9b2e775b79 Store out-of-context states in the language struct 2016-03-02 20:56:05 -08:00
Max Brunsfeld
ffcd8b5c49 Generate C code for the in-progress symbols in each parse state 2016-03-02 20:56:05 -08:00
Max Brunsfeld
00d953f507 Generate C code for out-of-context states 2016-03-02 20:56:05 -08:00
Max Brunsfeld
8c01b70ce7 Don't skip tokens that are not the start of any non-terminal 2016-03-02 20:56:05 -08:00
Max Brunsfeld
b4f2407a49 Add forward move states for each terminal symbol 2016-03-02 20:56:04 -08:00
Max Brunsfeld
dee1f697c1 Compute the set of variables that can begin with each terminal symbol 2016-02-25 21:51:52 -08:00
Max Brunsfeld
5a34d74702 Clean up stack 2016-02-25 21:51:39 -08:00
Max Brunsfeld
1850951b4f Escape special chars in production names for debug graphs 2016-02-24 17:24:11 -08:00
Max Brunsfeld
597e4b221c Merge pull request #30 from tree-sitter/debuggable-stack
Fix bugs in ambiguity management
2016-02-23 17:43:53 -08:00
Max Brunsfeld
da2ef7ad35 Store trees in the links between stack nodes, not in the nodes themselves 2016-02-23 17:35:50 -08:00
Max Brunsfeld
abbc282950 Add a public function for printing debugging graphs 2016-02-23 11:16:50 -08:00
Max Brunsfeld
b36143d7a7 Add flag for logging dot graphs of the stack while parsing 2016-02-23 09:45:27 -08:00
Max Brunsfeld
867e1094c3 Fix sharing of lookahead token between parse stacks 2016-02-23 00:09:42 -08:00
Max Brunsfeld
6dd92c3abe Add function for rendering the stack as a DOT graph 2016-02-23 00:08:55 -08:00
Max Brunsfeld
b99c257e9e Make test symbol_names array accessible in specs 2016-02-23 00:08:20 -08:00
Max Brunsfeld
9d5a260e5b 🔥 unused variable in tree spec 2016-02-22 21:29:46 -08:00
Max Brunsfeld
f444a715fd Clean up tree array assertions in stack spec 2016-02-22 09:23:25 -08:00
Max Brunsfeld
b113dc8b0f Return a TreeArray from ts_stack_pop
Since the capacity is now included in the return value, the buffer
can be reused in the ts_parser__accept function. Also, it's just
cleaner to use Array consistently, rather than a separate buffer
and size.
2016-02-21 22:31:13 -08:00
Max Brunsfeld
f92b35e77e Merge pull request #29 from tree-sitter/multiple-node-types
Expose nodes' wrapper symbols
2016-02-20 13:49:22 -08:00
Max Brunsfeld
17db46eded Add test for node that has only one symbol 2016-02-20 13:38:39 -08:00
Max Brunsfeld
2b35890bbb Add ts_node_symbols() function 2016-02-19 15:41:30 -08:00
Max Brunsfeld
df1d9b2416 Move sexp-generation code to node.c 2016-02-19 15:41:09 -08:00
Max Brunsfeld
3d7df851b5 Rename Vector -> Array 2016-02-17 20:41:29 -08:00
Max Brunsfeld
6fa7eca966 Make vector struct type-safe 2016-02-17 15:30:47 -08:00
Max Brunsfeld
3f08bfb264 Fix build warnings 2016-02-12 14:11:11 -08:00
Max Brunsfeld
afed91661b Update repo URLs in readme 2016-02-12 13:10:38 -08:00
Max Brunsfeld
5a595d6e70 Clone fixture grammars from new tree-sitter org 2016-02-12 12:47:38 -08:00
Max Brunsfeld
e90a425618 Only return one result for each revealed head from ts_stack_pop 2016-02-08 12:08:15 -08:00
Max Brunsfeld
171c259300 Merge pull request #25 from maxbrunsfeld/fix-leaks
Fix memory leaks
2016-02-05 13:19:55 -08:00
Max Brunsfeld
b80a330a74 Fix assorted memory leaks in test code 2016-02-05 12:23:54 -08:00
Max Brunsfeld
b1c8b74e9c Avoid leak caused by earlier corpus spec failures 2016-02-05 11:35:40 -08:00
Max Brunsfeld
2f2ca401be Fix last few leaks, add leak checking to all randomized specs 2016-02-05 11:18:22 -08:00
Max Brunsfeld
f6f02182c1 Tail-call-optimize recursive functions
Refs https://github.com/maxbrunsfeld/node-tree-sitter-compiler/pull/7
2016-02-04 12:59:44 -08:00
Max Brunsfeld
c96c4a08e6 Use an object pool for stack nodes, to reduce allocations
Also, fix some leaks in the case where memory allocation failed during parsing
2016-02-04 11:19:42 -08:00
Max Brunsfeld
a302ee822a Add swift runtime memory memory leak to valgrind suppressions 2016-02-02 13:37:23 -08:00
Max Brunsfeld
29c77c34ef Avoid leaking copy of potentially-extra token 2016-02-02 13:13:32 -08:00
Max Brunsfeld
2da716d659 Update help message for test script 2016-02-02 12:31:13 -08:00
Max Brunsfeld
1c9dff6dad Guard memcpy calls in ts_parser__accept 2016-02-02 12:22:29 -08:00
Max Brunsfeld
4a7312e514 Fix memory leaks when editing 2016-02-02 12:22:29 -08:00
Max Brunsfeld
e3d65d5cbd Change name of generated parser files
The previous name, parser.c made it harder to set breakpoints inside of
src/runtime/parser.c in LLDB
2016-01-29 17:33:15 -08:00
Max Brunsfeld
7c44b0e387 Fix leaked lookahead trees in normal parsing 2016-01-29 17:31:43 -08:00
Max Brunsfeld
a74bf7ece1 Release tree when changing document's language 2016-01-29 17:25:07 -08:00
Max Brunsfeld
b1f4b046f5 Test script - allow valgrind to be run w/o the leak check 2016-01-29 17:03:35 -08:00
Max Brunsfeld
95828f42a8 Fix leak of StringInput wrapper struct 2016-01-29 16:40:38 -08:00
Max Brunsfeld
0cf59913ae Fix double retain of child trees 2016-01-28 23:15:22 -08:00