1 /* BEGIN mrds_token_info.incl.pl1 -- jaw, 9/25/78 */
 2 
 3 /* 84-09-08 J Hergert: Added token types COMPILED and X */
 4 
 5 /* List of token type codes */
 6 
 7 dcl ((NULL init (0)),
 8     (ANOTHER init (1)),
 9     (RANGE init (2)),
10     (SELECT init (3)),
11     (WHERE init (4)),
12     (CURRENT init (5)),
13     (IDENT init (6)),                                       /* identifier */
14     (LP init (7)),                                          /* left paran */
15     (RP init (8)),                                          /* right paran */
16     (V init (9)),                                           /* substitutr value from arg list */
17     (AND init (10)),                                        /* & */
18     (OR init (11)),                                         /* | */
19     (AND_NOT init (12)),                                    /* &^ */
20     (TUPLE_ATT init (13)),                                  /* tuple attribute */
21     (TE init (14)),                                         /* exist. quantifier */
22     (FA init (15)),                                         /* univ. quantifier */
23     (LIT init (16)),                                        /* literal constant */
24     (NOT init (17)),                                        /* ^ */
25     (EQ init (18)),                                         /* = */
26     (NE init (19)),                                         /* ^= */
27     (LT init (20)),                                         /* < */
28     (GT init (21)),                                         /* > */
29     (LE init (22)),                                         /* <= */
30     (GE init (23)),
31     (INTER init (24)),
32     (UNIONN init (25)),
33     (DIFFER init (26)),
34     (DUP init (27)),
35     (LB init (28)),
36     (RB init (29)),
37     (PLUS init (30)),
38     (MINUS init (31)),
39     (MULTIPLY init (32)),
40     (DIVIDE init (33)),
41     (COMPILED init (34)),
42     (X init (35))) fixed bin int static options (constant);
43 
44 dcl  NUM_KEYS fixed bin int static options (constant) init (35);
45 
46 dcl 1 token_data based (td_ptr),
47     2 token char (mrds_data_$max_token_size),               /*  the token */
48     2 data (mrds_data_$max_td_len) fixed bin (71);          /* area for data, depends on token type */
49 
50 dcl  td_ptr ptr;                                            /* points to token data */
51 
52 dcl 1 value_data based (addr (token_data.data)),            /* token data for a  value token */
53     2 arg_ptr ptr,                                          /* arg pointer to value */
54     2 desc_ptr ptr;                                         /* descriptor pointer for value */
55 
56 dcl 1 tuple_att_data based (addr (token_data.data)),        /* token data for a tuple attribute token */
57     2 key bit (1) unal,                                     /* on if to be key attrib. in temp rel */
58     2 temp_rel bit (1) unal,                                /* on if attr. in temp. rel. */
59     2 index bit (1) unal,                                   /* on if index attrib. in temp rel */
60     2 reserved bit (33) unal,                               /* reserved for future use */
61     2 var_index fixed bin,                                  /* index of tuple variable */
62     2 ai_ptr ptr;                                           /* to attr_info */
63 
64 dcl 1 ident_data based (addr (token_data.data)),            /* token data for identifier */
65     2 var_index fixed bin;                                  /* index to tuple variable */
66 
67 dcl 1 lit_data based (addr (token_data.data)),              /* token data for literal */
68     2 arg_ptr ptr,                                          /* ptr to start of literal string */
69     2 desc_ptr ptr;                                         /* ptr to descriptor */
70 
71 dcl 1 quant_data based (addr (token_data.data)),            /* token data for quantifier */
72     2 var_index fixed bin;                                  /*  index to quantified variable */
73 
74 dcl 1 set_op_data based (addr (token_data.data)),           /* token data for set operation */
75     2 op_code fixed bin;
76 
77 /* END mrds_token_info.incl.pl1 */
78