A Constraint Language for Static Semantic Analysis Based on Scope Graphs
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.
Tue 19 JanDisplayed time zone: Guadalajara, Mexico City, Monterrey change
14:00 - 15:30 | Domain-Specific Languages IIPEPM at Room Harbor View Chair(s): Sebastian Erdweg TU Darmstadt, Germany | ||
14:00 30mTalk | BiGUL: A Formally Verified Core Language for Putback-Based Bidirectional Programming PEPM Hsiang-Shang ‘Josh’ Ko National Institute of Informatics, Tao Zan Sokendai, Japan, Zhenjiang Hu National Institute of Informatics DOI Pre-print | ||
14:30 30mTalk | A Constraint Language for Static Semantic Analysis Based on Scope Graphs PEPM Hendrik van Antwerpen Delft University of Technology, Netherlands, Pierre Neron TU Delft, Andrew Tolmach Portland State University, Eelco Visser Delft University of Technology, Guido Wachsmuth Delft University of Technology Link to publication DOI Pre-print | ||
15:00 30mTalk | Finally, Safely-Extensible and Efficient Language-Integrated Query PEPM DOI |