Add lexer
lexer with many bugs
Add testcase
Add some new grammar
Add patterns