Add an error message to libparse
Just use strings for syntax extension rules in new_parse.py, simplifies grammar.
A couple tiny libparse fixes
Use a sentinel object in parsing to distinguish from None returned by user-defined functions
Only throw parse errors when backtracking would be required, so that optional/repeated rules can be at the beginning of productions
Add + to libparse EBNF grammar support
Simplify parsing repeaters in the EBNF grammar a bit
Fix Params.repr in syntax.py
Allow parser rules to have multiple productions in one list
stupid fix
Allow liblex to take a list of tokens instead of a dict for when longest-first sorting is insufficient