1 /*        BEGIN INCLUDE FILE probe_tokens.incl.pl1          */
 2 /*        Split up into probe_tokens and probe_references, 04/22/79 WOS */
 3 
 4 dcl 1 token_header aligned based,                           /* header information common to all tokens */
 5     2 next pointer unaligned,                               /* pointer to next token in chain */
 6     2 prev pointer unaligned,                               /* same for previous token */
 7     2 type bit (18) aligned,
 8     2 buffer_ptr pointer unaligned,                         /* pointer to beginning of input buffer */
 9     2 location fixed bin (17) unal,                         /* offset in input buffer */
10     2 length fixed bin (17) unal,
11     2 flags aligned,
12      (3 leading_whitespace,                                 /* there is whitespace before thios token */
13       3 trailing_whitespace) bit (1) unaligned,             /* and same for after */
14       3 pad1 bit (34) unaligned;
15 
16 dcl 1 token aligned based,                                  /* produced by scan_probe_input_ */
17     2 header aligned like token_header;                     /* that's all there is */
18 
19 dcl 1 identifier aligned based,                             /* keyword or identifier token */
20     2 header aligned like token_header,
21     2 length fixed bin,                                     /* length of name */
22     2 name pointer unaligned;                               /* to string in buffer containing name */
23 
24 dcl 1 operator aligned based,                               /* for punctuation */
25     2 header aligned like token_header;                     /* nothing but a header here */
26 
27 dcl 1 constant aligned based,                               /* for strings pointers numbers etc */
28     2 header aligned like token_header,
29     2 encoded_precision aligned,                            /* encoded precision kludge for assign_ */
30       3 scale fixed bin (17) unaligned,                     /* arithmetic scale */
31       3 precision fixed bin (17) unaligned,                 /* arithmetic precision or other size */
32     2 scale_and_precision fixed bin (35),                   /* An identical copy of the two values above */
33     2 data_type fixed bin,                                  /* standard data type code + packed bit */
34     2 data_ptr pointer unaligned;
35 
36 
37 dcl (OPERATOR_TYPE init ("100"b),                           /* types for above */
38      NAME_TYPE init ("010"b),
39      CONSTANT_TYPE init ("001"b)) bit (18) internal static options (constant);
40 
41 
42 dcl  current_identifier_name                                /* Overlays for looking at the current tokens */
43      char (probe_info.ct -> identifier.length) based (probe_info.ct -> identifier.name);
44 dcl 1 current_constant aligned like constant based (probe_info.ct);
45 dcl 1 current_token aligned like token based (probe_info.ct);
46 
47 /*        END INCLUDE FILE probe_tokens.incl.pl1            */