summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/SCommonAST.h
diff options
context:
space:
mode:
Diffstat (limited to 'EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/SCommonAST.h')
-rw-r--r--EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/SCommonAST.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/SCommonAST.h b/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/SCommonAST.h
new file mode 100644
index 0000000000..79f90180cc
--- /dev/null
+++ b/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/SCommonAST.h
@@ -0,0 +1,26 @@
+#ifndef SCommonAST_h
+#define SCommonAST_h
+
+#include <stdio.h>
+#include "PCCTSAST.h"
+#include "SASTBase.h"
+
+/* If you use SORCERER alone, you can subclass this to get a nice tree def */
+
+class SORCommonAST : public SORASTBase {
+protected:
+ SORCommonAST *_right, *_down;
+ int _type;
+
+public:
+ SORCommonAST() { _right = _down = NULL; }
+ PCCTS_AST *right() { return _right; } // define the SORCERER interface
+ PCCTS_AST *down() { return _down; }
+ int type() { return _type; }
+ void setRight(PCCTS_AST *t) { _right = (SORCommonAST *)t; }
+ void setDown(PCCTS_AST *t) { _down = (SORCommonAST *)t; }
+ void setType(int t) { _type = t; }
+ virtual PCCTS_AST *shallowCopy() {return NULL;}
+};
+
+#endif