A high-level modular definition of the semantics of C#

  • Authors:
  • Egon Börger;Nicu G. Fruja;Vincenzo Gervasi;Robert F. Stärk

  • Affiliations:
  • Dipartimento di Informatica, Università di Pisa, Via F. Buonarroti 2, I-56127 Pisa, Italy;Computer Science Department, ETH Zürich, CH-8092 Zürich, Switzerland;Dipartimento di Informatica, Università di Pisa, Via F. Buonarroti 2, I-56127 Pisa, Italy;Computer Science Department, ETH Zürich, CH-8092 Zürich, Switzerland

  • Venue:
  • Theoretical Computer Science - Abstract state machines and high-level system design and analysis
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose a structured mathematical definition of the semantics of C# programs to provide a platform-independent interpreter view of the language for the C# programmer, which can also be used for a precise analysis of the ECMA standard of the language and as a reference model for teaching. The definition takes care to reflect directly and faithfully--as much as possible without becoming inconsistent or incomplete--the descriptions in the C# standard to become comparable with the corresponding models for Java in Stärk et al. (Java and Java Virtual Machine--Definition, Verification, Validation, Springer, Berlin, 2001) and to provide for implementors the possibility to check their basic design decisions against an accurate high-level model. The model sheds light on some of the dark corners of C# and on some critical differences between the ECMA standard and the implementations of the language.