Decorating tokens to facilitate recognition of ambiguous language constructs

  • Authors:
  • Brian A. Malloy;Tanton H. Gibbs;James F. Power

  • Affiliations:
  • Computer Science Department, Clemson University, Clemson, SC;Computer Science Department, Clemson University, Clemson, SC;Department of Computer Science, National University of Ireland, Maynooth, Ireland

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software tools are fundamental to the comprehension, analysis, testing and debugging of application systems. A necessary first step in the development of many tools is the construction of a parser front-end that can recognize the implementation language of the system under development. In this paper, we describe our use of token decoration to facilitate recognition of ambiguous language constructs. We apply our approach to the C++ language since its grammar is replete with ambiguous derivations such as the declaration~expression and template-declaration/expression ambiguity. We describe our implementation of a parser front-end for C++, keystone, and we describe our results in decorating tokens for our test suite including the examples from Clause Three of the C++ standard. We are currently exploiting the keystone front-end to develop a taxonomy for implementation-based class testing and to reverse-engineer Unified Modeling Language (UML) class diagrams.