A Constraint Language for Static Semantic Analysis Based on Scope Graphs

Hendrik van Antwerpen, Pierre Néron, Andrew Tolmach, Eelco Visser, Guido Wachsmuth

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

43 Citations (Scopus)
68 Downloads (Pure)

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.
Original languageEnglish
Title of host publicationPEPM '16
Subtitle of host publicationProceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery (ACM)
Pages49-60
Number of pages12
ISBN (Electronic)978-1-4503-4097-7
DOIs
Publication statusPublished - Jan 2016
EventACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation - St. Petersburg, FL., United States
Duration: 18 Jan 201619 Jan 2016

Workshop

WorkshopACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
Abbreviated titlePEPM
Country/TerritoryUnited States
CitySt. Petersburg, FL.
Period18/01/1619/01/16

Keywords

  • Language Specification
  • Name Binding
  • Types
  • Domain Specific Languages
  • Meta-Theory

Fingerprint

Dive into the research topics of 'A Constraint Language for Static Semantic Analysis Based on Scope Graphs'. Together they form a unique fingerprint.

Cite this