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.