A dynamic parser generator for KNF grammars written in Objective-C