throw on two opening square brace chars in a row
promote enum for terminal characters out of tokenize function
move stuff around
create a simple function to convert a char to a terminal
recognize an asterisk terminal
recognize a closing square brace terminal
recognize a name char terminal
recognize a dash terminal
recognize opening and closing paren terminals
recognize backslash, pipe, and slash terminals
recognize space terminal, and compare terminals instead of chars in tokenize
don't convert an invalid char to a valid terminal
grammar::accept happy path
accept should return false when the next char doesn't match the terminal
implement grammar::expect happy path
expect should throw when the next char doesn't match the expected terminal