Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / cemcom.ansi / label.h
1 /*
2  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3  * See the copyright notice in the ACK home directory, in the file "Copyright".
4  */
5 /* $Id: label.h,v 1.2 1994/06/27 08:01:23 ceriel Exp $ */
6 /*              L A B E L   D E F I N I T I O N                         */
7
8 #include <em_label.h>           /* obtain definition of "label" */
9
10 #define NO_LABEL        (label) 0
11
12 extern label lab_count;
13 #define text_label()    (lab_count++)           /* returns a new text label */
14
15 extern label datlab_count;
16 #define data_label()    (datlab_count++)        /* returns a new data label */
17
18 #define define_label(idf) enter_label(idf, 1);
19         /*      The identifier idf is defined as a label. If it is new,
20                 it is entered into the idf list with the largest possible
21                 scope, i.e., on the lowest possible level.
22         */
23
24 #define apply_label(idf) enter_label(idf, 0);
25         /*      The identifier idf is applied as a label. It may or may
26                 not be there, and if it is there, it may be from a
27                 declaration or another application.
28         */