DocumentCode :
1703716
Title :
Fast, flexible syntactic pattern matching and processing
Author :
Griswold, William G. ; Atkinson, Darren C. ; McCurdy, Collin
Author_Institution :
Dept. of Comput. Sci. & Eng., California Univ., San Diego, La Jolla, CA, USA
fYear :
1996
Firstpage :
144
Lastpage :
153
Abstract :
Program understanding can be assisted by tools that match patterns in the program source. Lexical pattern matchers provide excellent performance and ease of use, but have a limited vocabulary. Syntactic matchers provide more precision, but may sacrifice performance, retargetability, ease of use, or generality. To achieve more of the benefits of both models, we extend the pattern syntax of AWK to support matching of abstract syntax trees, as demonstrated in a tool called TAWK. Its pattern syntax is language-independent, based on abstract tree patterns. As in AWK, patterns can have associated actions, which in TAWK are written in C for generality, familiarity, and performance. The use of C is simplified by high-level libraries and dynamic linking. To allow processing of program files containing non-syntactic constructs, mechanisms have been designed that allow transparent matching in a syntactic fashion. So far TAWK has been retargeted to the MUMPS and C programming languages. We survey and apply prototypical approaches to concretely demonstrate the tradeoffs. Our results indicate that TAWK can be used to quickly and easily perform a variety of common software engineering tasks, and the extensions to accommodate non-syntactic features significantly extend the generality of syntactic matchers
Keywords :
C language; pattern matching; program diagnostics; reverse engineering; software libraries; software performance evaluation; software tools; AWK; C; MUMPS; TAWK; abstract syntax trees; dynamic linking; ease of use; generality; high-level libraries; lexical pattern matchers; pattern processing; pattern syntax; performance; program source; program understanding; prototype; retargetability; software engineering; software tools; syntactic pattern matching; vocabulary; Computer languages; Computer science; Joining processes; Libraries; Pattern matching; Programming profession; Prototypes; Software performance; Software prototyping; Vocabulary;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Program Comprehension, 1996, Proceedings., Fourth Workshop on
Conference_Location :
Berlin
ISSN :
1092-8138
Print_ISBN :
0-8186-7283-8
Type :
conf
DOI :
10.1109/WPC.1996.501129
Filename :
501129
Link To Document :
بازگشت