a68g-enums.h

You can download the current version of Algol 68 Genie and its documentation here.

   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 .
   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 .
  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