Each state has a name, and is defined by a list of input
symbols. Each input symbol contains the name of a signal, and is
followed by a list of action symbols. The action list can include
assigning a value to a variable, calling a procedure, and sending a new
signal as output to a gate. The final action in the list is generally
a state transition: the FSM must change state or
remain in the current state.

A state containing two input symbols