added basic lexer code, need to change how whitespace is handled
added grammar definition