Labels and GOTO:

 
<go to statement>       ::= <go to> <identifier>

<go to>                 ::= GO TO
                          | GOTO

<label definition>      ::= <identifier> :
  
 
GOTO causes a transfer of control to the statement labeled by <identifier>, in the same block or a containing block. The <identifier> must be a statement label. Statement labels are identified by their appearance in a <label definition> and need not be otherwise declared except in three special cases:
  1. The same identifier is used to denote a label inside a procedure and one outside. This label must be declared inside the procedure.
  2. A GOTO statement inside a procedure is a forward-reference to a label defined outside. This label must be declared globally.
  3. A label not yet defined is used as an argument to addr. This label must be declared prior to use.