2013-11-14 12:55:02 -08:00
TODO
====
2015-07-18 11:53:26 -07:00
### Handling ambiguity (GLR)
2015-09-10 11:50:51 -07:00
* 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.
2014-10-17 23:52:53 -07:00
2015-07-18 11:53:26 -07:00
### Runtime System
2015-09-10 11:50:51 -07:00
* Refactoring: make separate symbol for unexpected characters than for interior error nodes.
2014-07-13 21:52:57 -07:00
2015-07-18 11:53:26 -07:00
### Testing / Quality
2015-09-10 11:50:51 -07:00
* Start running the clang-analyzer on the codebase on Travis-CI.
2015-07-18 11:53:26 -07:00
* 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.
2014-07-13 21:52:57 -07:00
2015-07-18 11:53:26 -07:00
### Ubiquitous token handling
* Fix the unintuitive tree that results when ubiquitous tokens are last child of their parent node.
2014-07-13 21:52:57 -07:00
2015-07-18 11:53:26 -07:00
### Error handling
* Use information about nesting depth of tokens like '(' and ')' to make error recovery more accurate.
2014-10-17 23:52:53 -07:00
2015-07-18 11:53:26 -07:00
### 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
2014-10-08 15:16:40 -07:00