tree-sitter/todo.md
2015-10-06 16:40:37 -07:00

32 lines
1.1 KiB
Markdown

TODO
====
### Handling ambiguity (GLR)
* Add a simple way to specify syntactic ambiguity resolutions in the Grammar (e.g. 'prefer declarations to statements' in C), similar to bison's `dprec`
construct.
### Runtime System
* Refactoring: make separate symbol for unexpected characters than for interior error nodes.
### Testing / Quality
* Start running the clang-analyzer on the codebase on Travis-CI.
* Use the Valgrind leak checker to fix the memory leaks in the runtime library.
* Randomize the editing in the language tests, using a seed that can be specified in order to reproduce failures.
### Ubiquitous token handling
* Fix the unintuitive tree that results when ubiquitous tokens are last child of their parent node.
### Error handling
* Use information about nesting depth of tokens like '(' and ')' to make error recovery more accurate.
### Grammar Features
* Regexp assertions
- [ ] '^'
- [ ] '$'
- [ ] '\b'
* Composing languages
- [ ] Rule for referencing named grammar
- [ ] Grammar registry object in runtime
- [ ] Parsing returns control to parent language
* Indentation tokens