Differencing Context-Free Grammars
Grammars form an integral part of grammarware. When a grammar evolves, the grammarware has to evolve with it. In this process, the exact changes in the grammar have to be found and changes have to be made to parts that rely on the changed grammar parts. This thesis presents an algorithm, cfgDiff, which can find the difference between two context-free grammars. Using a model which handles both the ordered and unordered elements of a grammars, the algorithm can provide concise edit scripts.