Use Expr trait for parsers
Use packrat parser