A high-level modular definition of the semantics of C#
We propose a structured mathematical definition of the semantics of C programs to provide a platform-independent interpreter view of the language for the Q 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 Q standard to become comparable with the corresponding models for Java in Stark 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 Q and on some critical differences between the ECMA standard and the implementations of the language. Crown Copyright (c) 2004 Published by Elsevier B.V. All rights reserved.
c# java semantics of programming languages abstract state machines net