Support negated character classes
Implement lookahead assertions
Types are more than identifiers
Optional expressions return Option<T> result
Capture result values from repeat operators
Don't compile result value if not used
define match_str as the slice of the string in semantic actions
Basic tests
Allow definitions at top of generated file
Proper escaping of string and character literals
Write header at the top so it can contain `use` declarations
Split boostrap code out from main file
Translate PEGjs bootstrap grammar to rust. rust-peg can now compile
itself!