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