rebuild the TParser to seperate a class Grammar