]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/STreeParser.h
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Other / Maintained / Tools / Pccts / sorcerer / h / STreeParser.h
diff --git a/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/STreeParser.h b/EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/STreeParser.h
deleted file mode 100644 (file)
index 558f6a5..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef STreeParser_h\r
-#define STreeParser_h\r
-\r
-/*\r
- * STreeParser.h\r
- *\r
- * SOFTWARE RIGHTS\r
- *\r
- * We reserve no LEGAL rights to SORCERER -- SORCERER is in the public\r
- * domain.  An individual or company may do whatever they wish with\r
- * source code distributed with SORCERER or the code generated by\r
- * SORCERER, including the incorporation of SORCERER, or its output, into\r
- * commerical software.\r
- *\r
- * We encourage users to develop software with SORCERER.  However, we do\r
- * ask that credit is given to us for developing SORCERER.  By "credit",\r
- * we mean that if you incorporate our source code into one of your\r
- * programs (commercial product, research project, or otherwise) that you\r
- * acknowledge this fact somewhere in the documentation, research report,\r
- * etc...  If you like SORCERER and have developed a nice tool with the\r
- * output, please mention that you developed it using SORCERER.  In\r
- * addition, we ask that this header remain intact in our source code.\r
- * As long as these guidelines are kept, we expect to continue enhancing\r
- * this system and expect to make other tools available as they are\r
- * completed.\r
- *\r
- * SORCERER 1.00B\r
- * Parr Research Corporation\r
- * with Purdue University and AHPCRC, University of Minnesota\r
- * 1992-1994\r
- */\r
-\r
-/* The programmer should derive a class from SORASTBase; SORASTBase defines\r
- * the minimum public interface that a tree node must follow for SORCERER to\r
- * be able to walk the trees.\r
- */\r
-\r
-/* The @-vars are added by the subclass created by SORCERER; the constructor\r
- * is used to init the @-vars.\r
- */\r
-\r
-#include <stdio.h>\r
-#include <setjmp.h>\r
-#include <stdlib.h>\r
-#include "SASTBase.h"\r
-\r
-#define _DOWN        _t=(SORASTBase *)_t->down()\r
-#define _RIGHT        _t=(SORASTBase *)_t->right()\r
-\r
-#define _SAVE        SORASTBase *_save=_t\r
-#define _RESTORE      _t = _save\r
-#define _GUESS_BLOCK    STreeParser _st; int _gv; SORASTBase *_savet=NULL;\r
-#define _GUESS        {save_state(&_st); \\r
-              _savet = _t; \\r
-              guessing = 1; \\r
-              _gv = setjmp(startofguess.state);}\r
-#define _GUESS_FAIL      longjmp(startofguess.state, 1)\r
-#define _GUESS_DONE      {restore_state(&_st); _t = _savet;}\r
-#define _MATCH(tok)      MATCH(_t,tok)\r
-#define _MATCHRANGE(t1,t2)  MATCHRANGE(_t,t1,t2)\r
-#define _WILDCARD      WILDCARD(_t)\r
-\r
-#define ast_return(t)    *_result = (SORASTBase *)t;\r
-\r
-#define STreeTry(r,p,t)     \\r
-      (p)->try_result = NULL;          \\r
-            (p)->sjrv = setjmp((p)->startofguess);  \\r
-            if ( !(p)->sjrv ) {            \\r
-                rule(p,t,&try_result);        \\r
-                (p)->try_ok = 1;          \\r
-      }                    \\r
-            else {                  \\r
-                (p)->try_ok = 0;          \\r
-      }                    \\r
-            if ( (p)->try_ok )\r
-\r
-\r
-/* Used only during TRANSFORM mode */\r
-#define  TREE_CONSTR_PTRS  SORASTBase *_r=NULL,*_s=NULL,*_e=NULL\r
-\r
-typedef struct _Sjmp_buf {\r
-      jmp_buf state;\r
-    } Sjmp_buf;\r
-\r
-class STreeParser {\r
-protected:\r
-  int try_ok, sjrv;    /* used by STreeTry macro */\r
-  SORASTBase *try_result;  /* tree coming back from try */\r
-  int guessing;\r
-  Sjmp_buf startofguess;\r
-//  SORASTBase *t;\r
-\r
-  void _mkroot(SORASTBase **, SORASTBase **, SORASTBase **, SORASTBase *);\r
-  void _mkchild(SORASTBase **, SORASTBase **, SORASTBase **, SORASTBase *);\r
-  virtual void mismatched_range(int looking_for, int upper_token, SORASTBase *found);\r
-  virtual void missing_wildcard();\r
-  virtual void mismatched_token(int looking_for, SORASTBase *found);\r
-  virtual void no_viable_alt(char *rulename, SORASTBase *root);\r
-  virtual void MATCH(SORASTBase *_t, int tok);\r
-  virtual void MATCHRANGE(SORASTBase *_t, int tok, int tok2);\r
-  virtual void WILDCARD(SORASTBase *_t);\r
-\r
-public:\r
-  STreeParser() { guessing = 0; }\r
-  virtual void panic(char *err);\r
-  void save_state(STreeParser *);\r
-  void restore_state(STreeParser *);\r
-};\r
-\r
-#endif\r