# 8. Assignments

Assignments are used to directly store values in variables. A single assignment may involve any number of values and variables. The same value may be assigned to any number of variables, while a group of values may be assigned to a group of variables, respectively.

## 8.1. Syntax

```Assignable     ::=  `Variable` | `IndexOperation` | `Attribute`
AssignmentVars ::=  [ `Assignable` "," ]* `Assignable`
Assignment     ::=  [ `AssignmentVars` "=" ]* `AssignmentVars` "=" [ `Value` "," ]* `Value`
```

## 8.2. Examples

### 8.2.1. Single Variable

```width = 5
length = 10
height = 6

futureState = currentState = true
```

### 8.2.2. Multi Variable

```# Defines a Rectangular Prism
width, length, height = 5, 10, 6

# The upperLimit is set to the currentPosition, then
# The currentPosition is set to the lowerLimit
upperLimit, currentPosition = currentPosition, lowerLimit

# velocity is equal to speed which is equal to 55.25, and
# mass is equal to weight which is 100
velocity, mass = speed, weight = 55.25, 100
```

```#TODO
```

```#TODO
```