# User Guide

## Introduction

This user guide is not about how to write Sather programs. Relevant tutorial material is being compiled into a text a first draft of which is expected to be available before the middle of 2001. These notes are solely about making use of the compiler to generate programs which do not give rise to either compile-time or run-time errors.

This does not mean that the programs are correct in the sense that they perform the actions specified for them. The task of ensuring correctness is about unambiguity of requirements, formal specification and full proving/testing of the resulting program implementation. Discussion of these activities is outside the scope of this guide.

## Sections

This user guide contains the following sections which appear on the individual pages to which they are linked -

- Compiler Operation - this describes the way in which the implementation operates to produce runnable programs.
- Syntax Errors - the meaning of syntax errors reported by the compiler is explained in this section.
- Type Errors - the meaning of the errors in types and inheritance is explained here.
- Inter-class Errors - the meaning of those errors which relate to incompatibilities between calls to mehods in other classes is described and ways of correcting them are suggested.
- Run-time Errors - errors which are reported by the pragram run-time system are discussed and possible ways of correcting them indicated.
- Debugging - some general notes on the use of debugging messages and formal debugging using gdb are given - not about correcting program implementation errors!

| Home Page

Comments or enquiries should be made to Keith Hopper Page last modified: Friday, 9 February 2001. |