Title
Reusable specification modules for type analysis
Abstract
Type analysis can be characterized by a language-independent collection of standard computational roles such as ‘typed identifier use’ (e.g. a variable name appearing in an expression) and ‘dyadic expression’ (e.g. addition of two values). A type analyzer for a specific language is then defined by stating which language construct(s) play each role. The computational roles provide a framework for understanding the general process and a vocabulary for applying that understanding to the solution of particular problems. We have captured this knowledge in attribute grammar modules that are carefully designed to be combinable and adaptable, exporting language-independent roles that define the general type analysis problem. From this collection, the compiler designer instantiates the appropriate modules and identifies the relevant source-language constructs; an attribute grammar processor then weaves the necessary computations into the compiler's semantic analyzer. Our attribute grammar modules provide a precise definition of the actions constituting the various roles and the dependences among them. They can therefore also be used to describe the type analysis process to students, or to specify a hand-coded semantic analyzer. Copyright © 2009 John Wiley & Sons, Ltd.
Year
DOI
Venue
2009
10.1002/spe.v39:9
Softw., Pract. Exper.
Keywords
DocType
Volume
computational role,type analyzer,type analysis process,attribute grammar module,Reusable specification module,hand-coded semantic analyzer,compiler designer,type analysis,attribute grammar processor,general type analysis problem,semantic analyzer
Journal
39
Issue
ISSN
Citations 
9
0038-0644
1
PageRank 
References 
Authors
0.37
10
2
Name
Order
Citations
PageRank
Uwe Kastens140655.65
William M. Waite2325196.47