The VDM++ Language Manual

The VDM Language - VDMTools The VDM Language Manual ver.1.0 How to contact CSK SYSTEMS CORPORATION http/www.csk.com/systems Web [email protected]

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: CSKSYSTEMSCORPORATION VDMTools The VDM++ Language Manual ver.1.0 How to contact CSK SYSTEMS CORPORATION: http://www.csk.com/systems Web @ [email protected] General information The VDM++ Language Manual 1.0 — Revised for VDMTools v8.2 c ⃝ COPYRIGHT 2009 by CSK SYSTEMS CORPORATION The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. This document is subject to change without notice The VDM++ Language Manual Contents 1 Introduction 1 1.1 Purpose of The Document . . . . . . . . . . . . . . . . . . . 1 1.2 History of The Language . . . . . . . . . . . . . . . . . . . . 1 1.3 Structure of the Document . . . . . . . . . . . . . . . . . . . 2 2 Conformance Issues 2 3 Concrete Syntax Notation 3 4 Data Type Definitions 4 4.1 Basic Data Types . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1.1 The Boolean Type . . . . . . . . . . . . . . . . . . . . 5 4.1.2 The Numeric Types . . . . . . . . . . . . . . . . . . . . 8 4.1.3 The Character Type . . . . . . . . . . . . . . . . . . . 11 4.1.4 The Quote Type . . . . . . . . . . . . . . . . . . . . . 11 4.1.5 The Token Type . . . . . . . . . . . . . . . . . . . . . 12 4.2 Compound Types . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.1 Set Types . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.2 Sequence Types . . . . . . . . . . . . . . . . . . . . . . 16 4.2.3 Map Types . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2.4 Product Types . . . . . . . . . . . . . . . . . . . . . . 23 4.2.5 Composite Types . . . . . . . . . . . . . . . . . . . . . 23 4.2.6 Union and Optional Types . . . . . . . . . . . . . . . . 27 4.2.7 The Object Reference Type . . . . . . . . . . . . . . . 29 4.2.8 Function Types . . . . . . . . . . . . . . . . . . . . . . 30 4.3 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5 Algorithm Definitions 33 6 Function Definitions 34 6.1 Polymorphic Functions . . . . . . . . . . . . . . . . . . . . . 38 6.2 Higher Order Functions . . . . . . . . . . . . . . . . . . . . . 39 7 Expressions 40 7.1 Let Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.2 The Define Expression . . . . . . . . . . . . . . . . . . . . . . 43 7.3 Unary and Binary Expressions . . . . . . . . . . . . . . . . . 45 7.4 Conditional Expressions . . . . . . . . . . . . . . . . . . . . . 46 7.5 Quantified Expressions . . . . . . . . . . . . . . . . . . . . . 48 7.6 The Iota Expression . . . . . . . . . . . . . . . . . . . . . . . 50 i The VDM++ Language Manual 7.7 Set Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.8 Sequence Expressions . . . . . . . . . . . . . . . . . . . . . . 53 7.9 Map Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.10 Tuple Constructor Expressions . . . . . . . . . . . . . . . . . 56 7.11 Record Expressions . . . . . . . . . . . . . . . . . . . . . . . 56 7.12 Apply Expressions . . . . . . . . . . . . . . . . . . . . . . . .....
View Full Document

This note was uploaded on 03/31/2010 for the course CAS 707 taught by Professor Ridhakhedri during the Spring '10 term at McMaster University.

Page1 / 199

The VDM Language - VDMTools The VDM Language Manual ver.1.0 How to contact CSK SYSTEMS CORPORATION http/www.csk.com/systems Web [email protected]

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online