Standard

A Theory of Name Resolution. / Neron, Pierre; Tolmach, Andrew; Visser, Eelco; Wachsmuth, Guido.

Programming Languages and Systems: 24th European Symposiumon Programming, ESOP 2015 held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, Proceedings. ed. / Jan Vitek. Berlin : Springer Verlag, 2015. p. 205-231 (Lecture Notes in Computer Science; Vol. 9032).

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

Harvard

Neron, P, Tolmach, A, Visser, E & Wachsmuth, G 2015, A Theory of Name Resolution. in J Vitek (ed.), Programming Languages and Systems: 24th European Symposiumon Programming, ESOP 2015 held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, Proceedings. Lecture Notes in Computer Science, vol. 9032, Springer Verlag, Berlin, pp. 205-231, Programming Languages and Systems, London, United Kingdom, 11/04/15. https://doi.org/10.1007/978-3-662-46669-8_9

APA

Neron, P., Tolmach, A., Visser, E., & Wachsmuth, G. (2015). A Theory of Name Resolution. In J. Vitek (Ed.), Programming Languages and Systems: 24th European Symposiumon Programming, ESOP 2015 held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, Proceedings (pp. 205-231). (Lecture Notes in Computer Science; Vol. 9032). Berlin: Springer Verlag. https://doi.org/10.1007/978-3-662-46669-8_9

Vancouver

Neron P, Tolmach A, Visser E, Wachsmuth G. A Theory of Name Resolution. In Vitek J, editor, Programming Languages and Systems: 24th European Symposiumon Programming, ESOP 2015 held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, Proceedings. Berlin: Springer Verlag. 2015. p. 205-231. (Lecture Notes in Computer Science). https://doi.org/10.1007/978-3-662-46669-8_9

Author

Neron, Pierre ; Tolmach, Andrew ; Visser, Eelco ; Wachsmuth, Guido. / A Theory of Name Resolution. Programming Languages and Systems: 24th European Symposiumon Programming, ESOP 2015 held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, Proceedings. editor / Jan Vitek. Berlin : Springer Verlag, 2015. pp. 205-231 (Lecture Notes in Computer Science).

BibTeX

@inproceedings{7fb193c8735d4d82ba0ab270b5317187,
title = "A Theory of Name Resolution",
abstract = "We describe a language-independent theory for name binding and resolution, suitable for programming languages with complex scoping rules including both lexical scoping and modules. We formulate name resolution as a two-stage problem. First a language-independent scope graph is constructed using language-specific rules from an abstract syntax tree. Then references in the scope graph are resolved to corresponding declarations using a language-independent resolution process. We introduce a resolution calculus as a concise, declarative, and language-independent specification of name resolution. We develop a resolution algorithm that is sound and complete with respect to the calculus. Based on the resolution calculus we develop language-independent definitions of α-equivalence and rename refactoring. We illustrate the approach using a small example language with modules. In addition, we show how our approach provides a model for a range of name binding patterns in existing languages.",
author = "Pierre Neron and Andrew Tolmach and Eelco Visser and Guido Wachsmuth",
year = "2015",
doi = "10.1007/978-3-662-46669-8_9",
language = "English",
series = "Lecture Notes in Computer Science",
publisher = "Springer Verlag",
pages = "205--231",
editor = "Jan Vitek",
booktitle = "Programming Languages and Systems",

}

RIS

TY - GEN

T1 - A Theory of Name Resolution

AU - Neron, Pierre

AU - Tolmach, Andrew

AU - Visser, Eelco

AU - Wachsmuth, Guido

PY - 2015

Y1 - 2015

N2 - We describe a language-independent theory for name binding and resolution, suitable for programming languages with complex scoping rules including both lexical scoping and modules. We formulate name resolution as a two-stage problem. First a language-independent scope graph is constructed using language-specific rules from an abstract syntax tree. Then references in the scope graph are resolved to corresponding declarations using a language-independent resolution process. We introduce a resolution calculus as a concise, declarative, and language-independent specification of name resolution. We develop a resolution algorithm that is sound and complete with respect to the calculus. Based on the resolution calculus we develop language-independent definitions of α-equivalence and rename refactoring. We illustrate the approach using a small example language with modules. In addition, we show how our approach provides a model for a range of name binding patterns in existing languages.

AB - We describe a language-independent theory for name binding and resolution, suitable for programming languages with complex scoping rules including both lexical scoping and modules. We formulate name resolution as a two-stage problem. First a language-independent scope graph is constructed using language-specific rules from an abstract syntax tree. Then references in the scope graph are resolved to corresponding declarations using a language-independent resolution process. We introduce a resolution calculus as a concise, declarative, and language-independent specification of name resolution. We develop a resolution algorithm that is sound and complete with respect to the calculus. Based on the resolution calculus we develop language-independent definitions of α-equivalence and rename refactoring. We illustrate the approach using a small example language with modules. In addition, we show how our approach provides a model for a range of name binding patterns in existing languages.

UR - http://www.scopus.com/inward/record.url?scp=84926687129&partnerID=8YFLogxK

UR - http://resolver.tudelft.nl/uuid://7fb193c8-735d-4d82-ba0a-b270b5317187

U2 - 10.1007/978-3-662-46669-8_9

DO - 10.1007/978-3-662-46669-8_9

M3 - Conference contribution

T3 - Lecture Notes in Computer Science

SP - 205

EP - 231

BT - Programming Languages and Systems

A2 - Vitek, Jan

PB - Springer Verlag

CY - Berlin

ER -

ID: 10179645