summaryrefslogtreecommitdiff
path: root/graphics/asymptote/modifier.h
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/modifier.h')
-rw-r--r--graphics/asymptote/modifier.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/graphics/asymptote/modifier.h b/graphics/asymptote/modifier.h
new file mode 100644
index 0000000000..856da9d5c0
--- /dev/null
+++ b/graphics/asymptote/modifier.h
@@ -0,0 +1,41 @@
+/*****
+ * modifier.h
+ * Andy Hammerlindl 2002/08/29
+ *
+ * Permissions for variables.
+ * PUBLIC means the variable can be read or written anywhere.
+ * RESTRICTED means it can be read anywhere, but written only in the record.
+ * PRIVATE means it can only be accessed in the record.
+ *
+ * The modifiers static declares that variable to be allocated, are allocated in
+ * the parent's frame, and code is translated into the parent's frame.
+ *****/
+
+#ifndef MODIFIER_H
+#define MODIFIER_H
+
+namespace trans {
+
+// Permission tokens defined in camp.y for accessing a variable outside of
+// its lexically enclosing record.
+enum permission {
+ RESTRICTED,
+ PUBLIC,
+ PRIVATE
+};
+
+const permission DEFAULT_PERM=PUBLIC;
+
+enum modifier {
+ DEFAULT_STATIC,
+ DEFAULT_DYNAMIC,
+ EXPLICIT_STATIC,
+ EXPLICIT_DYNAMIC
+};
+
+} // namespace trans
+
+GC_DECLARE_PTRFREE(trans::permission);
+GC_DECLARE_PTRFREE(trans::modifier);
+
+#endif