home *** CD-ROM | disk | FTP | other *** search
/ ftptest.leeds.ac.uk / 2015.02.ftptest.leeds.ac.uk.tar / ftptest.leeds.ac.uk / bionet / CAE-GROUP / SCL-WIN3x / FED_PLUS.EXE / EXPPARSE.H < prev    next >
Text File  |  1994-07-21  |  4KB  |  181 lines

  1.  
  2. typedef union  {
  3.     /* simple (single-valued) node types */
  4.  
  5.     Binary        binary;
  6.     Case_Item        case_item;
  7.     Expression    expression;
  8.     Integer        iVal;
  9.     Linked_List        list;
  10.     Logical        logical;
  11.     Op_Code        op_code;
  12.     Qualified_Attr *    qualified_attr;
  13.     Real        rVal;
  14.     Statement        statement;
  15.     Symbol *        symbol;
  16.     char *        string;
  17.     Type        type;
  18.     TypeBody        typebody;
  19.     Variable        variable;
  20.     Where        where;
  21.  
  22.     struct type_either {
  23.         Type     type;
  24.         TypeBody body;
  25.     } type_either;    /* either one of these can be returned */
  26.  
  27.     struct {
  28.         unsigned optional:1;
  29.         unsigned unique:1;
  30.         unsigned fixed:1;
  31.         unsigned var:1;        /* when formal is "VAR" */
  32.     } type_flags;
  33.  
  34.     struct {
  35.     Linked_List    attributes;
  36.     Linked_List    unique;
  37.     Linked_List    where;
  38.     } entity_body;
  39.  
  40.     struct {
  41.     Expression    subtypes;
  42.     Linked_List    supertypes;
  43.     Boolean        abstract;
  44.     } subsuper_decl;
  45.  
  46.     struct {
  47.     Expression    subtypes;
  48.     Boolean        abstract;
  49.     } subtypes;
  50.  
  51.     struct {
  52.     Expression    lower_limit;
  53.     Expression    upper_limit;
  54.     } upper_lower;
  55. } exp_YYSTYPE;
  56. extern exp_YYSTYPE exp_yylval;
  57. # define TOK_OR 257
  58. # define TOK_XOR 258
  59. # define TOK_AND 259
  60. # define TOK_ANDOR 260
  61. # define TOK_EQUAL 261
  62. # define TOK_GREATER_EQUAL 262
  63. # define TOK_GREATER_THAN 263
  64. # define TOK_IN 264
  65. # define TOK_INST_EQUAL 265
  66. # define TOK_INST_NOT_EQUAL 266
  67. # define TOK_LESS_EQUAL 267
  68. # define TOK_LESS_THAN 268
  69. # define TOK_LIKE 269
  70. # define TOK_NOT_EQUAL 270
  71. # define TOK_MINUS 271
  72. # define TOK_PLUS 272
  73. # define TOK_DIV 273
  74. # define TOK_MOD 274
  75. # define TOK_REAL_DIV 275
  76. # define TOK_TIMES 276
  77. # define TOK_CONCAT_OP 277
  78. # define TOK_EXP 278
  79. # define TOK_NOT 279
  80. # define TOK_DOT 280
  81. # define TOK_BACKSLASH 281
  82. # define TOK_LEFT_BRACKET 282
  83. # define TOK_ABSTRACT 283
  84. # define TOK_AGGREGATE 284
  85. # define TOK_ALIAS 285
  86. # define TOK_ALL_IN 286
  87. # define TOK_ARRAY 287
  88. # define TOK_AS 288
  89. # define TOK_ASSIGNMENT 289
  90. # define TOK_BAG 290
  91. # define TOK_BEGIN 291
  92. # define TOK_BINARY 292
  93. # define TOK_BOOLEAN 293
  94. # define TOK_BY 294
  95. # define TOK_CASE 295
  96. # define TOK_COLON 296
  97. # define TOK_COMMA 297
  98. # define TOK_CONSTANT 298
  99. # define TOK_CONTEXT 299
  100. # define TOK_E 300
  101. # define TOK_DERIVE 301
  102. # define TOK_ELSE 302
  103. # define TOK_END 303
  104. # define TOK_END_ALIAS 304
  105. # define TOK_END_CASE 305
  106. # define TOK_END_CONSTANT 306
  107. # define TOK_END_CONTEXT 307
  108. # define TOK_END_ENTITY 308
  109. # define TOK_END_FUNCTION 309
  110. # define TOK_END_IF 310
  111. # define TOK_END_LOCAL 311
  112. # define TOK_END_MODEL 312
  113. # define TOK_END_PROCEDURE 313
  114. # define TOK_END_REPEAT 314
  115. # define TOK_END_RULE 315
  116. # define TOK_END_SCHEMA 316
  117. # define TOK_END_TYPE 317
  118. # define TOK_ENTITY 318
  119. # define TOK_ENUMERATION 319
  120. # define TOK_ESCAPE 320
  121. # define TOK_FIXED 321
  122. # define TOK_FOR 322
  123. # define TOK_FROM 323
  124. # define TOK_FUNCTION 324
  125. # define TOK_GENERIC 325
  126. # define TOK_IF 326
  127. # define TOK_INCLUDE 327
  128. # define TOK_INTEGER 328
  129. # define TOK_INVERSE 329
  130. # define TOK_LEFT_CURL 330
  131. # define TOK_LEFT_PAREN 331
  132. # define TOK_LIST 332
  133. # define TOK_LOCAL 333
  134. # define TOK_LOGICAL 334
  135. # define TOK_MODEL 335
  136. # define TOK_NUMBER 336
  137. # define TOK_OF 337
  138. # define TOK_ONEOF 338
  139. # define TOK_OPTIONAL 339
  140. # define TOK_OTHERWISE 340
  141. # define TOK_PI 341
  142. # define TOK_PROCEDURE 342
  143. # define TOK_QUERY 343
  144. # define TOK_QUESTION_MARK 344
  145. # define TOK_REAL 345
  146. # define TOK_REFERENCE 346
  147. # define TOK_REPEAT 347
  148. # define TOK_RETURN 348
  149. # define TOK_RIGHT_BRACKET 349
  150. # define TOK_RIGHT_CURL 350
  151. # define TOK_RIGHT_PAREN 351
  152. # define TOK_RULE 352
  153. # define TOK_SCHEMA 353
  154. # define TOK_SELECT 354
  155. # define TOK_SEMICOLON 355
  156. # define TOK_SET 356
  157. # define TOK_SKIP 357
  158. # define TOK_STRING 358
  159. # define TOK_SUBTYPE 359
  160. # define TOK_SUCH_THAT 360
  161. # define TOK_SUPERTYPE 361
  162. # define TOK_THEN 362
  163. # define TOK_TO 363
  164. # define TOK_TYPE 364
  165. # define TOK_UNIQUE 365
  166. # define TOK_UNTIL 366
  167. # define TOK_USE 367
  168. # define TOK_VAR 368
  169. # define TOK_WHERE 369
  170. # define TOK_WHILE 370
  171. # define TOK_STRING_LITERAL 371
  172. # define TOK_STRING_LITERAL_ENCODED 372
  173. # define TOK_BUILTIN_FUNCTION 373
  174. # define TOK_BUILTIN_PROCEDURE 374
  175. # define TOK_IDENTIFIER 375
  176. # define TOK_SELF 376
  177. # define TOK_INTEGER_LITERAL 377
  178. # define TOK_REAL_LITERAL 378
  179. # define TOK_LOGICAL_LITERAL 379
  180. # define TOK_BINARY_LITERAL 380
  181.