---
title: About the Language Reference
framework: swift-book
role: article
path: swift-book/ReferenceManual/AboutTheLanguageReference
---

# About the Language Reference

Read the notation that the formal grammar uses.

## How to Read the Grammar

The notation used to describe the formal grammar of the Swift programming language follows a few conventions:

- An arrow (→) is used to mark grammar productions and can be read as "can consist of." - Syntactic categories are indicated by *italic* text and appear on both sides   of a grammar production rule. - Literal words and punctuation are indicated by **`boldface constant width`** text   and appear only on the right-hand side of a grammar production rule. - Alternative grammar productions are separated by vertical   bars (|). When alternative productions are too long to read easily,   they're broken into multiple grammar production rules on new lines. - In a few cases, regular font text is used to describe the right-hand side   of a grammar production rule. - Optional syntactic categories and literals are marked by a trailing   question mark, *?*.

As an example, the grammar of a getter-setter block is defined as follows:

> Grammar of a getter-setter block: > > *getter-setter-block* → **`{`** *getter-clause* *setter-clause*_?_ **`}`** | **`{`** *setter-clause* *getter-clause* **`}`**

This definition indicates that a getter-setter block can consist of a getter clause followed by an optional setter clause, enclosed in braces, *or* a setter clause followed by a getter clause, enclosed in braces. The grammar production above is equivalent to the following two productions, where the alternatives are spelled out explicitly:

> Grammar of a getter-setter block: > > > *getter-setter-block* → **`{`** *getter-clause* *setter-clause*_?_ **`}`** \ > *getter-setter-block* → **`{`** *setter-clause* *getter-clause* **`}`**

<!-- This source file is part of the Swift.org open source project

Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors Licensed under Apache License v2.0 with Runtime Library Exception

See https://swift.org/LICENSE.txt for license information See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -->
