Modelling and Specifying Name Visibility and Binding Semantics

Abstract

This paper describes visibility networks, a graphical model of static name visibility and binding. A visibility network is a visual representation of the search algorithm performed when binding a name reference to declaration. In conjunction with an extended attribute grammar mechanism, visibility networks allow clear and precise specification of the naming semantics of programming languages. The power of the model demonstrated through its description of several examples of complex visibility constraints in Ada. As specification technique, the model has several advantages for the language designer, including support for prototyping, analysis, formal description, and documentation of naming semantics. Similar advantages make the visibility network model pedagogically attractive. Finally, it has been demonstrated that the specifications can be used to automatically generate naming semantics modules for compilers and language-based editors, reducing the burden of the language implementor. Software engineering: Coding, Program editors, Programming environments, Interactive, Programming languages, Formal definitions and theory Semantics, Language constructs and features, Modules, Packages, Logics and meanings of programs, Semantics of programming languages-algebraic approaches to semantics.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 1993
Accession Number
ADA273602

Entities

People

  • Scott A. Vorthmann

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Collisions
  • Computer Programming
  • Computer Science
  • Computers
  • Grammars
  • Language
  • Linguistics
  • Natural Languages
  • Product Prototyping
  • Production
  • Programming Languages
  • Semantics
  • Software Development
  • Specifications
  • Visibility

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Database Systems and Applications
  • Logistics and Supply Chain Management.