DocumentCode
2703243
Title
Parsing and semantic modelling for software engineering applications
Author
Irwin, Warwick ; Cook, Carl ; Churcher, Neville
Author_Institution
Dept. of Comput. Sci. & Software Eng., Canterbury Univ., Christchurch, New Zealand
fYear
2005
fDate
29 March-1 April 2005
Firstpage
180
Lastpage
189
Abstract
The ability to parse source code, in order to extract information from it, is an essential element of software engineering research and practice. However, serious practical difficulties often arise from factors such as ambiguities in standard grammars and inflexible parsing tools. For example, substantial changes to standard grammars may be needed in order to meet the limitations of parsing engines; this threatens the accuracy, completeness and consistency of the information available. Good parsing on its own is not enough: an inadequate semantic model limits the information available to tool builders. In our work, we have developed an approach to parsing and semantic modelling which addresses issues such as these. Our approach is based on a more flexible LR parser generator which includes the use of generalised LR (GLR) parsing to accommodate ambiguous grammars. This allows us to decouple syntactic and semantic analysis. In this paper, we present our parser generator, yakyacc, and our semantic model for Java, JST, and discuss the benefits of their use in software engineering research. The resulting parsers may be used in a variety of contexts, either as the basis for integrated applications or as components in an application pipeline containing a number of other tools. We illustrate the benefits of our approach with representative examples from two of our current software engineering research projects.
Keywords
Java; grammars; program compilers; programming language semantics; software engineering; JST; Java; generalised LR parsing; grammars; parsing tools; semantic modelling; software engineering; source code; yakyacc parser generator; Application software; Collaborative software; Computer languages; Computer science; Information analysis; Java; Pipelines; Software engineering; Software tools; Visualization;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference, 2005. Proceedings. 2005 Australian
ISSN
1530-0803
Print_ISBN
0-7695-2257-2
Type
conf
DOI
10.1109/ASWEC.2005.36
Filename
1402013
Link To Document