Syntactic analysis forms a foundation of many source analysis and reverse engineering tools. However, a single grammar is not always appropriate for all source analysis and manipulation tasks. Small changes to the grammar can make the programs used to accomplish these tasks simpler and more straightforward. This leads to a new paradigm of programming these tools: grammar programming. This paper discusses several industry proven techniques that can be used when designing base grammars and when making task specific changes to grammars.
Thomas R. Dean, James R. Cordy, Andrew J. Malton,