Mode :
Check : XHTML 1.0 Strict

Occam 2 toolset language and library reference manual

March 1993
INMOS document number: 72-TDS-368-01
186 Pages

© INMOS Limited 1993.

About this manual

frontcover 72-TDS-368-01

This manual is the Language and Libraries Reference Manual to the occam 2 toolset and provides a language reference for the toolset and implementation data.

The larger part of the manual is contained in one chapter which introduces and describes the occam libraries. Each library is described in a separate section. For each library, a summary of the procedures it provides, is followed by a detailed description of each procedure.

Appendices provide:

  • a description of the language extensions that are supported by the occam 2 compiler.
  • implementation details of the Dx305 occam 2 toolset.
  • details of the alias and usage checking rules adopted by the toolset.

Contents

	Contents overview
	Preface
		Host versions
		About this manual
		About the toolset documentation set
		Other documents
		FORTRAN toolset
		Documentation conventions

Libraries

1	The occam libraries
	1.1	Introduction
	1.2	Using the occam libraries
		1.2.1	Linking libraries
		1.2.2	Listing library contents
		1.2.3	Library constants
	1.3	Compiler libraries
		1.3.1	Using compiler library routines
		1.3.2	Maths functions
		1.3.3	2D block moves
		1.3.4	Bit manipulation functions
		1.3.5	CRC functions
		1.3.6	Floating point arithmetic support functions
		1.3.7	Dynamic code loading support
		1.3.8	Transputer-related procedures
		1.3.9	Miscellaneous operations
	1.4	Maths libraries
		1.4.1	Introduction and terminology
		1.4.2	Single and double length elementary function libraries
		1.4.3	IMS T400/T414/T425/T426 elementary function library
	1.5	Host file server library
		1.5.1	Errors and the server run time library
		1.5.2	Inputting real numbers
		1.5.3	Procedure descriptions
		1.5.4	File access
		1.5.5	General host access
		1.5.6	Keyboard input
		1.5.7	Screen output
		1.5.8	File output
		1.5.9	Miscellaneous
			Time processing
			Buffers and multiplexors
			Buffering procedures
			Multiplexing procedures
	1.6	Streamio library
		1.6.1	Naming conventions
		1.6.2	Stream processes
		1.6.3	Stream input
		1.6.4	Stream output
	1.7	String handling library
		1.7.1	Character identification
		1.7.2	String comparison
		1.7.3	String searching
		1.7.4	String editing
		1.7.5	Line parsing
	1.8	String conversion library
			Procedure definitions
	1.9	Block CRC library
		1.9.1	Example of use
		1.9.2	Function definitions
	1.10	Extraordinary link handling library
		1.10.1	Procedure definitions
	1.11	Debugging support library
		1.11.1	Procedure definitions
	1.12	DOS specific hostio library
		1.12.1	Procedure definitions

Appendices

A	Language extensions
	A.1	Syntax
		A.1.1	Compiler keywords
		A.1.2	Compiler directives
		A.1.3	String escape characters
		A.1.4	Tabs
		A.1.5	Relaxations on syntax
	A.2	Channel operations
		A.2.1	Retyping channels
		A.2.2	Channel constructors
		A.2.3	'Anarchic' protocols
	A.3	Low level programming
		A.3.1	ASM
		A.3.2	PLACE statements
		A.3.3	INLINE keyword
	A.4	Counted array input
	A.5	Retyping arrays
	A.6	Obsolescent features

B	Implementation of occam on the transputer
	B.1	Memory allocation by the compiler
		B.1.1	Procedure code
		B.1.2	Compilation modules
		B.1.3	Workspace
		B.1.4	Vectorspace
	B.2	Type mapping
	B.3	Implementation of channels
	B.4	Transputer timers (clocks)
		B.4.1	TIMER variables
		B.4.2	TIMERs as formal parameters
	B.5	CASE statement
	B.6	ALT statement
	B.7	Formal parameters
	B.8	Hardware dependencies
	B.9	Summary of implementation restrictions

C	Alias and usage checking rules
	C.1	Alias checking
		C.1.1	Introduction
		C.1.2	Rules
			Scalar variables
			Arrays
		C.1.3	Alias checking disabled
			VAL abbreviations
			Non-VAL abbreviations
			Multiple assignment
			Procedure parameters
			Interaction with usage checking
	C.2	Usage checking
		C.2.1	Introduction
		C.2.2	Usage rules of occam
		C.2.3	Checking of non-array elements
		C.2.4	Checking of arrays of variables and channels
		C.2.5	Arrays as procedure parameters
		C.2.6	Abbreviating variables and channels
		C.2.7	Channels
		C.2.8	Usage checking disabled

	Index

arrow upBack to the top

Last modification: 11/27/2020 6:12:25 PM