"Fossies" - the Fresh Open Source Software Archive

Member "asymptote-2.60/modifier.h" (6 Nov 2019, 908 Bytes) of package /linux/misc/asymptote-2.60.src.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "modifier.h" see the Fossies "Dox" file reference documentation.

    1 /*****
    2  * modifier.h
    3  * Andy Hammerlindl 2002/08/29
    4  *
    5  * Permissions for variables.
    6  * PUBLIC means the variable can be read or written anywhere.
    7  * RESTRICTED means it can be read anywhere, but written only in the record.
    8  * PRIVATE means it can only be accessed in the record.
    9  *
   10  * The modifiers static declares that variable to be allocated, are allocated in
   11  * the parent's frame, and code is translated into the parent's frame.
   12  *****/
   13 
   14 #ifndef MODIFIER_H
   15 #define MODIFIER_H
   16 
   17 namespace trans {
   18 
   19 // Permission tokens defined in camp.y for accessing a variable outside of
   20 // its lexically enclosing record.
   21 enum permission {
   22   RESTRICTED,
   23   PUBLIC,
   24   PRIVATE
   25 };
   26 
   27 const permission DEFAULT_PERM=PUBLIC;
   28 
   29 enum modifier {
   30   DEFAULT_STATIC,
   31   DEFAULT_DYNAMIC,
   32   EXPLICIT_STATIC,
   33   EXPLICIT_DYNAMIC
   34 };
   35 
   36 } // namespace trans
   37 
   38 GC_DECLARE_PTRFREE(trans::permission);
   39 GC_DECLARE_PTRFREE(trans::modifier);
   40 
   41 #endif