Max Brunsfeld
bc8df9f5c5
Avoid recompiling test languages when possible
2016-03-03 12:05:04 -08:00
Max Brunsfeld
c0595c21c5
Halt stack pops at all error states, not just error trees
2016-03-03 11:05:37 -08:00
Max Brunsfeld
5f9be9d9b2
Make Failure enumerators have the value zero
2016-03-03 10:24:12 -08:00
Max Brunsfeld
c1fa1efaad
Give ParseActionResult enumerators more consistent names
2016-03-03 10:21:57 -08:00
Max Brunsfeld
3d516aeeec
Give StackPushResult enumerators shorter names
2016-03-03 10:20:05 -08:00
Max Brunsfeld
8a13b5d120
Rename StackPopResult -> StackSlice
2016-03-03 10:16:10 -08:00
Max Brunsfeld
b99db66ce7
Improve log message for handling errors
2016-03-03 09:37:37 -08:00
Max Brunsfeld
aef7582a2a
Start using the forward move to recover from errors
...
Some unit tests passing. Corpus tests still failing
2016-03-02 21:08:42 -08:00
Max Brunsfeld
b733b0cc81
Remove duplicate parse actions
...
This has only come up for out-of-context states, but it seems possible now that there
could be duplicate actions for any state, because of the possibility of multiple
actions with different precedence or associativity that are otherwise the same
2016-03-02 20:58:40 -08:00
Max Brunsfeld
b68f7212c8
Do not consider any symbols to be 'in-progress' in out-of-context states
2016-03-02 20:58:39 -08:00
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