a68g-enums.h

     
   1  //! @file a68g-enums.h
   2  //! @author J. Marcel van der Veer
   3  //!
   4  //! @section Copyright
   5  //!
   6  //! This file is part of Algol68G - an Algol 68 compiler-interpreter.
   7  //! Copyright 2001-2023 J. Marcel van der Veer [algol68g@xs4all.nl].
   8  //!
   9  //! @section License
  10  //!
  11  //! This program is free software; you can redistribute it and/or modify it 
  12  //! under the terms of the GNU General Public License as published by the 
  13  //! Free Software Foundation; either version 3 of the License, or 
  14  //! (at your option) any later version.
  15  //!
  16  //! This program is distributed in the hope that it will be useful, but 
  17  //! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  18  //! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 
  19  //! more details. You should have received a copy of the GNU General Public 
  20  //! License along with this program. If not, see [http://www.gnu.org/licenses/].
  21  
  22  #if !defined (__A68G_ENUMS_H__)
  23  #define __A68G_ENUMS_H__
  24  
  25  // Enumerated constants
  26  
  27  enum
  28  { UPPER_STROPPING = 1, QUOTE_STROPPING };
  29  
  30  enum
  31  {
  32    NO_OPTIMISE = 0,
  33    OPTIMISE_0,
  34    OPTIMISE_1,
  35    OPTIMISE_2,
  36    OPTIMISE_3,
  37    OPTIMISE_FAST,
  38  };
  39  
  40  enum
  41  {
  42    STOP = 0,
  43    A68_PATTERN,
  44    ACCO_SYMBOL,
  45    ACTUAL_DECLARER_MARK,
  46    ALIF_IF_PART, ALIF_PART, ALIF_SYMBOL,
  47    ALT_DO_PART, ALT_DO_SYMBOL, ALT_EQUALS_SYMBOL, ALT_FORMAL_BOUNDS_LIST,
  48    ANDF_SYMBOL,
  49    AND_FUNCTION,
  50    ANONYMOUS,
  51    ARGUMENT, ARGUMENT_LIST,
  52    ASSERTION, ASSERT_SYMBOL,
  53    ASSIGNATION, ASSIGN_SYMBOL, ASSIGN_TO_SYMBOL,
  54    AT_SYMBOL,
  55    BEGIN_SYMBOL,
  56    BITS_C_PATTERN, BITS_DENOTATION, BITS_PATTERN, BITS_SYMBOL,
  57    BOLD_COMMENT_SYMBOL, BOLD_PRAGMAT_SYMBOL, BOLD_TAG,
  58    BOOLEAN_PATTERN,
  59    BOOL_SYMBOL,
  60    BOUND, BOUNDS, BOUNDS_LIST,
  61    BRIEF_OUSE_PART, BRIEF_CONFORMITY_OUSE_PART, BRIEF_ELIF_PART, BRIEF_OPERATOR_DECLARATION,
  62    BUS_SYMBOL,
  63    BYTES_SYMBOL,
  64    BY_PART, BY_SYMBOL,
  65    CALL,
  66    CASE_CHOICE_CLAUSE, CASE_CLAUSE, CASE_IN_PART, CASE_OUSE_PART, CASE_PART, CASE_SYMBOL, CAST,
  67    CHANNEL_SYMBOL,
  68    CHAR_C_PATTERN, CHAR_SYMBOL,
  69    CHOICE, CHOICE_PATTERN,
  70    CLASS_SYMBOL,
  71    CLOSED_CLAUSE,
  72    CLOSE_SYMBOL,
  73    CODE_CLAUSE, CODE_LIST, CODE_SYMBOL,
  74    COLLATERAL_CLAUSE,
  75    COLLECTION,
  76    COLON_SYMBOL,
  77    COLUMN_FUNCTION, COLUMN_SYMBOL,
  78    COMMA_SYMBOL,
  79    COMPLEX_PATTERN, COMPLEX_SYMBOL, COMPL_SYMBOL,
  80    CONDITIONAL_CLAUSE,
  81    CONFORMITY_CHOICE, CONFORMITY_CLAUSE, CONFORMITY_IN_PART, CONFORMITY_OUSE_PART,
  82    CONSTRUCT,
  83    DECLARATION_LIST, DECLARER,
  84    DEFINING_IDENTIFIER, DEFINING_INDICANT, DEFINING_OPERATOR,
  85    DENOTATION,
  86    DEPROCEDURING,
  87    DEREFERENCING,
  88    DIAGONAL_FUNCTION, DIAGONAL_SYMBOL,
  89    DOTDOT_SYMBOL,
  90    DOWNTO_SYMBOL,
  91    DO_PART, DO_SYMBOL,
  92    DYNAMIC_REPLICATOR,
  93    EDOC_SYMBOL,
  94    ELIF_IF_PART, ELIF_PART, ELIF_SYMBOL,
  95    ELSE_BAR_SYMBOL, ELSE_OPEN_PART, ELSE_PART, ELSE_SYMBOL,
  96    EMPTY_SYMBOL,
  97    ENCLOSED_CLAUSE,
  98    END_SYMBOL,
  99    ENQUIRY_CLAUSE,
 100    ENVIRON_NAME, ENVIRON_SYMBOL,
 101    EQUALS_SYMBOL,
 102    ERROR,
 103    ERROR_IDENTIFIER,
 104    ESAC_SYMBOL,
 105    EXIT_SYMBOL,
 106    EXPONENT_FRAME,
 107    FALSE_SYMBOL,
 108    FIELD, FIELD_IDENTIFIER,
 109    FILE_SYMBOL,
 110    FIRM,
 111    FIXED_C_PATTERN,
 112    FI_SYMBOL,
 113    FLEX_SYMBOL,
 114    FLOAT_C_PATTERN,
 115    FORMAL_BOUNDS, FORMAL_BOUNDS_LIST,
 116    FORMAL_DECLARERS, FORMAL_DECLARERS_LIST, FORMAL_DECLARER_MARK,
 117    FORMAT_CLOSE_SYMBOL,
 118    FORMAT_DELIMITER_SYMBOL,
 119    FORMAT_IDENTIFIER,
 120    FORMAT_A_FRAME, FORMAT_D_FRAME, FORMAT_E_FRAME, FORMAT_I_FRAME,
 121    FORMAT_ITEM_A, FORMAT_ITEM_B, FORMAT_ITEM_C, FORMAT_ITEM_D,
 122    FORMAT_ITEM_E, FORMAT_ITEM_F, FORMAT_ITEM_G, FORMAT_ITEM_H,
 123    FORMAT_ITEM_I, FORMAT_ITEM_J, FORMAT_ITEM_K, FORMAT_ITEM_L,
 124    FORMAT_ITEM_M, FORMAT_ITEM_N, FORMAT_ITEM_O, FORMAT_ITEM_P,
 125    FORMAT_ITEM_Q, FORMAT_ITEM_R, FORMAT_ITEM_S, FORMAT_ITEM_T,
 126    FORMAT_ITEM_U, FORMAT_ITEM_V, FORMAT_ITEM_W, FORMAT_ITEM_X,
 127    FORMAT_ITEM_Y, FORMAT_ITEM_Z,
 128    FORMAT_ITEM_ESCAPE, FORMAT_ITEM_MINUS, FORMAT_ITEM_PLUS, FORMAT_ITEM_POINT,
 129    FORMAT_OPEN_SYMBOL, FORMAT_PATTERN, FORMAT_POINT_FRAME, FORMAT_SYMBOL, FORMAT_TEXT, FORMAT_Z_FRAME,
 130    FORMULA,
 131    FOR_PART, FOR_SYMBOL,
 132    FROM_PART, FROM_SYMBOL,
 133    GENERAL_C_PATTERN, GENERAL_PATTERN,
 134    GENERATOR,
 135    GENERIC_ARGUMENT, GENERIC_ARGUMENT_LIST,
 136    GOTO_SYMBOL, GO_SYMBOL,
 137    GUARDED_CONDITIONAL_CLAUSE, GUARDED_LOOP_CLAUSE,
 138    HEAP_SYMBOL,
 139    IDENTIFIER, IDENTITY_DECLARATION, IDENTITY_RELATION,
 140    IF_PART, IF_SYMBOL,
 141    INDICANT,
 142    INITIALISER_SERIES,
 143    INSERTION,
 144    INTEGRAL_C_PATTERN, INTEGRAL_MOULD, INTEGRAL_PATTERN,
 145    INT_DENOTATION, INT_SYMBOL,
 146    IN_SYMBOL,
 147    IN_TYPE_MODE,
 148    ISNT_SYMBOL, IS_SYMBOL,
 149    JUMP,
 150    KEYWORD,
 151    LABEL, LABELED_UNIT, LABEL_IDENTIFIER, LABEL_SEQUENCE,
 152    LITERAL,
 153    LOCAL_LABEL,
 154    LOC_SYMBOL,
 155    LONGETY, LONG_SYMBOL,
 156    LOOP_CLAUSE, LOOP_IDENTIFIER,
 157    MAIN_SYMBOL,
 158    MEEK,
 159    MODE_BITS, MODE_BOOL, MODE_BYTES, MODE_CHAR,
 160    MODE_COMPLEX, MODE_DECLARATION, MODE_FILE, MODE_FORMAT,
 161    MODE_INT, MODE_LONG_LONG_BITS, MODE_LONG_LONG_COMPLEX, MODE_LONG_LONG_INT,
 162    MODE_LONG_LONG_REAL, MODE_LONG_BITS, MODE_LONG_BYTES, MODE_LONG_COMPLEX,
 163    MODE_LONG_INT, MODE_LONG_REAL, MODE_NO_CHECK, MODE_PIPE,
 164    MODE_REAL, MODE_SOUND,
 165    MODE_SYMBOL,
 166    MONADIC_FORMULA, MONAD_SEQUENCE,
 167    NEW_SYMBOL,
 168    NIHIL, NIL_SYMBOL,
 169    NORMAL_IDENTIFIER,
 170    NO_SORT,
 171    OCCA_SYMBOL,
 172    OD_SYMBOL,
 173    OF_SYMBOL,
 174    OPEN_PART, OPEN_SYMBOL,
 175    OPERATOR, OPERATOR_DECLARATION, OPERATOR_PLAN, OP_SYMBOL,
 176    ORF_SYMBOL,
 177    OR_FUNCTION,
 178    OUSE_PART, OUSE_SYMBOL,
 179    OUT_PART, OUT_SYMBOL,
 180    OUT_TYPE_MODE,
 181    PARALLEL_CLAUSE,
 182    PARAMETER, PARAMETER_IDENTIFIER, PARAMETER_LIST, PARAMETER_PACK,
 183    PARTICULAR_PROGRAM,
 184    PAR_SYMBOL,
 185    PICTURE, PICTURE_LIST,
 186    PIPE_SYMBOL,
 187    POINT_SYMBOL,
 188    PRIMARY,
 189    PRIORITY, PRIORITY_DECLARATION, PRIO_SYMBOL,
 190    PROCEDURE_DECLARATION, PROCEDURE_VARIABLE_DECLARATION, PROCEDURING, PROC_SYMBOL,
 191    QUALIFIER,
 192    RADIX_FRAME,
 193    REAL_DENOTATION, REAL_PATTERN, REAL_SYMBOL, REF_SYMBOL,
 194    REPLICATOR,
 195    ROUTINE_TEXT, ROUTINE_UNIT,
 196    ROWING,
 197    ROWS_SYMBOL,
 198    ROW_CHAR_DENOTATION,
 199    ROW_FUNCTION,
 200    ROW_SYMBOL,
 201    SECONDARY,
 202    SELECTION, SELECTOR,
 203    SEMA_SYMBOL,
 204    SEMI_SYMBOL,
 205    SERIAL_CLAUSE,
 206    SERIES_MODE,
 207    SHORTETY, SHORT_SYMBOL,
 208    SIGN_MOULD,
 209    SKIP,
 210    SKIP_SYMBOL,
 211    SLICE,
 212    SOFT,
 213    SOME_CLAUSE,
 214    SOUND_SYMBOL,
 215    SPECIFICATION, SPECIFIED_UNIT, SPECIFIED_UNIT_LIST, SPECIFIED_UNIT_UNIT, SPECIFIER, SPECIFIER_IDENTIFIER,
 216    STANDARD,
 217    STATIC_REPLICATOR,
 218    STOWED_MODE,
 219    STRING_C_PATTERN, STRING_PATTERN, STRING_SYMBOL,
 220    STRONG,
 221    STRUCTURED_FIELD, STRUCTURED_FIELD_LIST, STRUCTURE_PACK, STRUCT_SYMBOL,
 222    STYLE_II_COMMENT_SYMBOL,
 223    STYLE_I_COMMENT_SYMBOL,
 224    STYLE_I_PRAGMAT_SYMBOL,
 225    SUB_SYMBOL,
 226    SUB_UNIT,
 227    TERTIARY,
 228    THEN_BAR_SYMBOL, THEN_PART, THEN_SYMBOL,
 229    TO_PART, TO_SYMBOL,
 230    TRANSPOSE_FUNCTION, TRANSPOSE_SYMBOL,
 231    TRIMMER,
 232    TRUE_SYMBOL,
 233    UNION_DECLARER_LIST, UNION_PACK, UNION_SYMBOL,
 234    UNIT,
 235    UNITING,
 236    UNIT_LIST, UNIT_SERIES,
 237    UNTIL_PART, UNTIL_SYMBOL,
 238    VARIABLE_DECLARATION,
 239    VIRTUAL_DECLARER_MARK,
 240    VOIDING, VOID_SYMBOL,
 241    WEAK,
 242    WHILE_PART, WHILE_SYMBOL,
 243    WIDENING,
 244    WILDCARD
 245  };
 246  
 247  enum
 248  {
 249    INPUT_BUFFER = 0, OUTPUT_BUFFER, EDIT_BUFFER, UNFORMATTED_BUFFER,
 250    FORMATTED_BUFFER, DOMAIN_BUFFER, PATH_BUFFER, REQUEST_BUFFER,
 251    CONTENT_BUFFER, STRING_BUFFER, PATTERN_BUFFER, REPLACE_BUFFER,
 252    FIXED_TRANSPUT_BUFFERS
 253  };
 254  
 255  enum
 256  {
 257    NO_DEFLEXING = 1, SAFE_DEFLEXING, ALIAS_DEFLEXING, FORCE_DEFLEXING,
 258    SKIP_DEFLEXING
 259  };
 260  
 261  #endif