Standard

A Constraint Language for Static Semantic Analysis Based on Scope Graphs. / van Antwerpen, Hendrik; Néron, Pierre; Tolmach, Andrew; Visser, Eelco; Wachsmuth, Guido.

PEPM '16: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. New York, NY : Association for Computing Machinery (ACM), 2016. p. 49-60.

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

van Antwerpen, H, Néron, P, Tolmach, A, Visser, E & Wachsmuth, G 2016, A Constraint Language for Static Semantic Analysis Based on Scope Graphs. in PEPM '16: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. Association for Computing Machinery (ACM), New York, NY, pp. 49-60, ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, St. Petersburg, FL., United States, 18/01/16. https://doi.org/10.1145/2847538.2847543

APA

van Antwerpen, H., Néron, P., Tolmach, A., Visser, E., & Wachsmuth, G. (2016). A Constraint Language for Static Semantic Analysis Based on Scope Graphs. In PEPM '16: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (pp. 49-60). New York, NY: Association for Computing Machinery (ACM). https://doi.org/10.1145/2847538.2847543

Vancouver

van Antwerpen H, Néron P, Tolmach A, Visser E, Wachsmuth G. A Constraint Language for Static Semantic Analysis Based on Scope Graphs. In PEPM '16: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. New York, NY: Association for Computing Machinery (ACM). 2016. p. 49-60 https://doi.org/10.1145/2847538.2847543

Author

van Antwerpen, Hendrik ; Néron, Pierre ; Tolmach, Andrew ; Visser, Eelco ; Wachsmuth, Guido. / A Constraint Language for Static Semantic Analysis Based on Scope Graphs. PEPM '16: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. New York, NY : Association for Computing Machinery (ACM), 2016. pp. 49-60

BibTeX

@inproceedings{59d818793226408e948525d429562000,
title = "A Constraint Language for Static Semantic Analysis Based on Scope Graphs",
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.",
keywords = "Language Specification, Name Binding, Types, Domain Specific Languages, Meta-Theory",
author = "{van Antwerpen}, Hendrik and Pierre N{\'e}ron and Andrew Tolmach and Eelco Visser and Guido Wachsmuth",
year = "2016",
month = "1",
doi = "10.1145/2847538.2847543",
language = "English",
pages = "49--60",
booktitle = "PEPM '16",
publisher = "Association for Computing Machinery (ACM)",
address = "United States",

}

RIS

TY - GEN

T1 - A Constraint Language for Static Semantic Analysis Based on Scope Graphs

AU - van Antwerpen, Hendrik

AU - Néron, Pierre

AU - Tolmach, Andrew

AU - Visser, Eelco

AU - Wachsmuth, Guido

PY - 2016/1

Y1 - 2016/1

N2 - 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.

AB - 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.

KW - Language Specification

KW - Name Binding

KW - Types

KW - Domain Specific Languages

KW - Meta-Theory

UR - http://resolver.tudelft.nl/uuid:59d81879-3226-408e-9485-25d429562000

U2 - 10.1145/2847538.2847543

DO - 10.1145/2847538.2847543

M3 - Conference contribution

SP - 49

EP - 60

BT - PEPM '16

PB - Association for Computing Machinery (ACM)

CY - New York, NY

ER -

ID: 18491542