Sponsor
This research was partially funded by the NWO VICI Language Designer’s Workbench project (639.023.206). Andrew Tolmach was partly supported by a Digiteo Chair at Laboratoire de Recherche en Informatique, Université Paris-Sud.
Document Type
Report
Publication Date
9-2015
Subjects
Computer science, Information storage and retrieval systems
Abstract
In previous work, we introduced scope graphs as a formalism for describing program binding structure and performing name resolution in an AST-independent way. In this paper, we show how to use scope graphs to build static semantic analyzers. We use constraints extracted from the AST to specify facts about binding, typing, and initialization. We treat name and type resolution as separate building blocks, but our approach can handle language constructs—such as record field access—for which binding and typing are mutually dependent.We also refine and extend our previous scope graph theory to address practical concerns including ambiguity checking and support for a wider range of scope relationships. We describe the details of constraint generation for a model language that illustrates many of the interesting static analysis issues associated with modules and records.
Persistent Identifier
http://archives.pdx.edu/ds/psu/16859
Citation Details
Van Antwerpen, H., Néron, P., Tolmach, A., Visser, E. and Wachsmuth, G. (2015). A Constraint Language for Static Semantic Analysis based on Scope Graphs. Report TUD-SERG-2015-009.
Description
© 2015 The Author(s) . Software Engineering Research Group, Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology
Published by the Delft University of Technology, Software Engineering Research Group, report TUD-SERG-2015-009.