In this paper we present the design and implementation of a fully automated technique for reverse engineering or recovering a grammar from existing language artifacts. The technique that we describe uses only test cases and a parse tree, and we apply the technique to a dialect of the C++ language. However, given test cases and a parse tree for a language or a dialect of a language, our technique can be used to recover a grammar for the language, including languages such as Java, C, Python or Ruby.
Published in:
Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on
Date of Conference: 28-31 Oct. 2007