Refactor parser for context restrictions
Refactor the optable