# Documentation conventions

## Contents

- Overview
- Feature level
- Indexes and glossary
- Headings
- Styles
- BNF grammars

## Overview

This topic provides a quick introduction to the conventions used in this documentation.

## Feature level

EPOC Release 5 adds new features to previous releases of EPOC, including new programming interfaces, and modifications to existing interfaces. The icon beside a heading indicates such features.

The tool chain is similar to that used in previous releases, so the feature level icon is rarely used. Its use makes it simple to recognise new ER5 features even without checking which document you are reading — which may not be immediately clear, for example, when jumping between different documents.

## Indexes and glossary

The Glossary provides definitions of important terms used in this documentation. Note that terms first used in other documentation, such as the EPOC C++ System Documentation, are defined in the glossaries belonging to those documents.

The Indexes provide lists figures used, with hyperlinks to where they are described in the documentation.

## Headings

## Styles

The documentation uses various typographic styles. Some styles are used to make text easier to understand, for example to highlight code fragments, intended user input, literal filenames, and other quoted text; other styles are used to flag restrictions and general applicability of text. Link styles are also used for hypertext navigation.

Style | Type
`File | Open` | Application text and menus
`aVariable`, `Push(),EikColorUtils` | Code. Note that where type names including class names and constants are mentioned, they are hyperlinked to their detailed discussion in the reference documentation.
note this | Emphasised text containing unusual or surprising information
euhello | Example project. This is hyperlinked to the reference page describing the example.
`e32std.h` | Filename
toolband | Hyperlink to definition in the glossary
`dir` | Input text to enter
ALT+A | Key names
WINS, ARM, M*CORE | Text only applies to the indicated platform
`NUMED` | Resource name, resource struct, or resource struct member
syntax | Syntax element in syntax diagrams and descriptions
Warning | Warning of an important issue

## BNF grammars

Backus-Naur Form (BNF) grammars are used as a tool for describing language constructions. For example:

  select-statement :
  `SELECT` select-list `FROM` table-name [ restriction ] [ ordering ]

  restriction :
  `WHERE` search-condition

  ordering :
  `ORDER BY` sort-order

A BNF definition states that the named item given before the colon is written as described after the colon. For example, an ordering is written as `ORDER BY` followed by a sort-order (which may be defined elsewhere).

BNF expression | What it means
named-construction : expression | Declares that a named-construction is written as expression.
named-construction : expression1 expression2 | Declares that a named-construction is written as either expression1 or expression2.
`word` | The word `word`, written literally.
exp1 exp2 | exp1 followed by exp2.
[ exp ] | exp is optional.
[ exp1 | exp2 ] | Either exp1 or exp2 or nothing.
exp+ | expression, repeated one or more times.
exp* | expression, repeated zero, one or more times.