Search                        Top                                  Index
HELP LABELS                                      John Gibson March 1986

LABELS in POP-11 are represented by any legal identifier followed by a
colon, e.g.

    loop:
    l3:
    +++ :   (space is needed if the label consists of 'sign' characters)

Labels may be jumped to in GOTO and GO_ON statements, where the label
may either be within the same procedure as the jump statement (a local
jump), or somewhere within a lexically-enclosing procedure (a non-local
jump).

A non-local jump to a label is like doing an EXITTO to the target
procedure (see HELP *EXITTO), followed by a local jump to the label.
Under some circumstances, the use of the syntax

        label:*

(that is, :* instead of :) will produce more efficient code when the
label is used in a non-local jump -- see 'Implementation of Non-Local
Jumps' in REF *VMCODE.

See also HELP

    *WORDS  - for the formation of legal identifiers in POP-11
    *GOTO   - transferring control within a procedure using a LABEL
    *GO_ON  - jumping to a label according to the value of an integer