a68g-masks.h

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

   1 //! @file a68g-masks.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_MASKS_H__)
  23 #define __A68G_MASKS_H__
  24 
  25 // Status Masks
  26 #define NULL_MASK                 ((STATUS_MASK_T) 0x00000000)
  27 #define IN_HEAP_MASK              ((STATUS_MASK_T) 0x00000001)
  28 #define IN_FRAME_MASK             ((STATUS_MASK_T) 0x00000002)
  29 #define IN_STACK_MASK             ((STATUS_MASK_T) 0x00000004)
  30 #define IN_COMMON_MASK            ((STATUS_MASK_T) 0x00000008)
  31 #define INIT_MASK                 ((STATUS_MASK_T) 0x00000010)
  32 #define PLUS_INF_MASK             ((STATUS_MASK_T) 0x00000020)
  33 #define MINUS_INF_MASK            ((STATUS_MASK_T) 0x00000040)
  34 #define CONSTANT_MASK             ((STATUS_MASK_T) 0x00000080)
  35 #define BLOCK_GC_MASK             ((STATUS_MASK_T) 0x00000100)
  36 #define COOKIE_MASK               ((STATUS_MASK_T) 0x00000200)
  37 #define SCOPE_ERROR_MASK          ((STATUS_MASK_T) 0x00000200)
  38 #define ALLOCATED_MASK            ((STATUS_MASK_T) 0x00000400)
  39 #define STANDENV_PROC_MASK        ((STATUS_MASK_T) 0x00000800)
  40 #define COLOUR_MASK               ((STATUS_MASK_T) 0x00001000)
  41 #define MODULAR_MASK              ((STATUS_MASK_T) 0x00002000)
  42 #define OPTIMAL_MASK              ((STATUS_MASK_T) 0x00004000)
  43 #define SERIAL_MASK               ((STATUS_MASK_T) 0x00008000)
  44 #define CROSS_REFERENCE_MASK      ((STATUS_MASK_T) 0x00010000)
  45 #define TREE_MASK                 ((STATUS_MASK_T) 0x00020000)
  46 #define CODE_MASK                 ((STATUS_MASK_T) 0x00040000)
  47 #define NOT_NEEDED_MASK           ((STATUS_MASK_T) 0x00080000)
  48 #define SOURCE_MASK               ((STATUS_MASK_T) 0x00100000)
  49 #define ASSERT_MASK               ((STATUS_MASK_T) 0x00200000)
  50 #define NIL_MASK                  ((STATUS_MASK_T) 0x00400000)
  51 #define SKIP_PROCEDURE_MASK       ((STATUS_MASK_T) 0x00800000)
  52 #define SKIP_FORMAT_MASK          ((STATUS_MASK_T) 0x00800000)
  53 #define SKIP_ROW_MASK	          ((STATUS_MASK_T) 0x00800000)
  54 #define INTERRUPTIBLE_MASK        ((STATUS_MASK_T) 0x01000000)
  55 #define BREAKPOINT_MASK           ((STATUS_MASK_T) 0x02000000)
  56 #define BREAKPOINT_TEMPORARY_MASK ((STATUS_MASK_T) 0x04000000)
  57 #define BREAKPOINT_INTERRUPT_MASK ((STATUS_MASK_T) 0x08000000)
  58 #define BREAKPOINT_WATCH_MASK     ((STATUS_MASK_T) 0x10000000)
  59 #define BREAKPOINT_TRACE_MASK     ((STATUS_MASK_T) 0x20000000)
  60 #define SEQUENCE_MASK             ((STATUS_MASK_T) 0x40000000)
  61 #define BREAKPOINT_ERROR_MASK     ((STATUS_MASK_T) 0xffffffff)
  62 
  63 // CODEX masks
  64 
  65 #define PROC_DECLARATION_MASK ((STATUS_MASK_T) 0x00000001)
  66 
  67 #endif