2 Overview


This document focuses on the structure and semantics of metadata. The semantics of metadata, which dictate much of the operation of the VES, are described using the syntax of ilasm, an assembler language for CIL. The ilasm syntax itself is considered a normative part of this International Standard. This constitutes Partition II, sections 5 through 20. A complete syntax for ilasm is included in Partition V. The structure [of metadata] (both logical and physical) is covered in Partition II, sections 21 through 24.

RATIONALE

An assembly language is really just syntax for specifying the metadata in a file and the CIL instructions in that file. Specifying ilasm provides a means of interchanging programs written directly for the CLI without the use of a higher-level language and also provides a convenient way to express examples.

The semantics of the metadata also can be described independently of the actual format in which the metadata is stored. This point is important because the storage format as specified in Partition II, sections 21 through 24 is engineered to be efficient for both storage space and access time, but this comes at the cost of the simplicity desirable for describing its semantics.


ANNOTATION

In this book, Partition II of the standard has been divided into two separate chapters. The first 20 sections of the Partition describe the semantics of metadata, using the ilasm assembler, and that is a single chapter in this book. The final four sections of Partition II sections 21 24 describe in detail the file format, the physical layout of metadata, and its logical format as well. There was some debate in the ECMA committee responsible for this standard about turning these into two partitions after the first version of the standard, but it was felt to be too much work for too little gain.

It is worth emphasizing that although the ilasm language described in this standard is considered a normative part of the standard, it is standardized just to provide a means of describing the semantics of metadata. It does not dictate the syntax that you might use in developing an ilasm assembly language, although it would certainly make development easier if used as a basis for an ilasm language. This is why you will see several notes in this Partition that refer to the development of "a complete assembler." For example, one note in section 5.2 says, "A complete assembler may also provide syntax for infinities and NaNs."




The Common Language Infrastructure Annotated Standard (Microsoft. NET Development Series)
The Common Language Infrastructure Annotated Standard (Microsoft. NET Development Series)
ISBN: N/A
EAN: N/A
Year: 2002
Pages: 121

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net