| # Section 6.7.1: Declaration Statement |

A declaration of a local variable in some method scope creates an object of the given kind with the vdm value 'nil' - ie there is no value there. If an implementation cannot differentiate this from some value of a type then it shall document such differences.

#### Concrete Syntax

declaration statement = declaration ;

declaration = identifier list, return signature ;

#### Abstract Syntax

For each identifier in the list there shall be a pair of features - a reader routine and a writer routine. The Local_List construct here is used purely as a convenience until merging(see below) takes place.

Local_List = seq of Local ;
Local ::
reader : Feature
writer : Feature inv mk_Local(rdr,wrtr) ==

TO BE DONE

The local list is to be merged with the value sequence for all locals in the implementation code of some feature (eg a routine or iter).

#### Static Semantics

TO BE DONE

#### Declaration Semantics

TO BE DONE

| Specification Index |  | Language Index |  | Section 6 Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Monday, 22 May 2000. |