]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/TianoTools/Pccts/antlr/dumpnode.c
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Source / TianoTools / Pccts / antlr / dumpnode.c
diff --git a/Tools/Source/TianoTools/Pccts/antlr/dumpnode.c b/Tools/Source/TianoTools/Pccts/antlr/dumpnode.c
deleted file mode 100644 (file)
index 2a34c6f..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-#include <stdio.h>\r
-#include <ctype.h>\r
-\r
-#include "set.h"\r
-#include "syn.h"\r
-#include "hash.h"\r
-#include "generic.h"\r
-\r
-#ifdef __USE_PROTOS\r
-void dumpset1(set s)\r
-#else\r
-void dumpset1(s)\r
-  set   s;\r
-#endif\r
-{\r
-  if (set_nil(s)) {\r
-    fprintf(stderr,"{}");\r
-  } else {\r
-    s_fprT(stderr,s);\r
-  };\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void dumpset(set s)\r
-#else\r
-void dumpset(s)\r
-  set   s;\r
-#endif\r
-{\r
-  dumpset1(s);\r
-  fprintf(stderr,"\n");\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-int isEndRule(Node * p)\r
-#else\r
-int isEndRule(p)\r
-  Node *    p;\r
-#endif\r
-{\r
-  int       result=0;\r
-  if ( p->ntype == nJunction &&\r
-       ( (Junction *) p)->jtype == EndRule) {\r
-    result=1;\r
-  };\r
-  return result;\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void dumppred1(int depth,Predicate *p)\r
-#else\r
-void dumppred1(depth,p)\r
-  int           depth;\r
-  Predicate     *p;\r
-#endif\r
-{\r
-  int       i;\r
-  int       k;\r
-\r
-  for (i=0; i<depth ; i++) {\r
-    fprintf(stderr,"  ");\r
-  };\r
-  if (p->expr == PRED_AND_LIST ||\r
-      p->expr == PRED_OR_LIST) {\r
-    fprintf(stderr," %s", (p->expr == NULL ? "null expr" : p->expr));\r
-    if (p->inverted) fprintf(stderr," predicate inverted !");\r
-    if (p->redundant) {\r
-      fprintf(stderr," Redundant!");\r
-    };\r
-    if (p->isConst) fprintf(stderr," const %d !",p->constValue);\r
-    fprintf(stderr,"\n");\r
-  } else {\r
-    fprintf(stderr,"predicate k=%d",p->k);\r
-    k=set_int(p->completionSet);\r
-    if (k >= 0) {\r
-      fprintf(stderr," Incomplete Set=%d !",k);\r
-    };\r
-    k=set_int(p->completionTree);\r
-    if (k >= 0) {\r
-      fprintf(stderr," Incomplete Tree=%d !",k);\r
-    };\r
-    if (p->redundant) {\r
-      fprintf(stderr," Redundant!");\r
-    };\r
-    fprintf(stderr," \"%s\" (%x)", (p->expr == NULL ? "null expr" : p->expr) ,p);\r
-    if (p->source != NULL) {\r
-       fprintf(stderr,"line %d",p->source->line);\r
-    };\r
-    if (p->inverted) fprintf(stderr," predicate inverted !");\r
-    fprintf(stderr,"\n");\r
-    for (i=0; i<depth ; i++) {\r
-      fprintf(stderr,"  ");\r
-    };\r
-    fprintf(stderr,"scontext: ");\r
-    dumpset(p->scontext[1]);\r
-    for (i=0; i<depth ; i++) {\r
-      fprintf(stderr,"  ");\r
-    };\r
-    fprintf(stderr,"tcontext: ");\r
-    preorder(p->tcontext);\r
-    fprintf(stderr,"\n");\r
-  };\r
-  fprintf(stderr,"\n");\r
-  if (p->down != NULL) {\r
-    dumppred1(depth+1,p->down);\r
-  };\r
-  if (p->right != NULL) {\r
-    dumppred1(depth,p->right);\r
-  };\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void dumppred(Predicate *p)\r
-#else\r
-void dumppred(p)\r
-  Predicate     *p;\r
-#endif\r
-{\r
-  fprintf(stderr,"---------------------------------\n");\r
-  dumppred1(0,p);\r
-  fprintf(stderr,"\n");\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void dumppredtree(Predicate *p)\r
-#else\r
-void dumppredtree(p)\r
-  Predicate     *p;\r
-#endif\r
-{\r
-  fprintf(stderr,"predicate k=%d \"%s\" line %d\n",p->k,p->expr,p->source->line);\r
-  dumpset(p->scontext[1]);\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void dumppredexpr(Predicate *p)\r
-#else\r
-void dumppredexpr(p)\r
-  Predicate     *p;\r
-#endif\r
-{\r
-  fprintf(stderr,"    pred expr \"%s\"\n",p->expr);\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void dt(Tree *t)\r
-#else\r
-void dt(t)\r
-  Tree  *t;\r
-#endif\r
-{\r
-  MR_dumpTreeF(stderr,0,t,5);\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void d(Node * p)\r
-#else\r
-void d(p)\r
-  Node *    p;\r
-#endif\r
-{\r
-\r
-  Junction      *j;\r
-  RuleRefNode   *r;\r
-  TokNode       *t;\r
-  ActionNode    *a;\r
-\r
-  if (p==NULL) {\r
-    fprintf(stderr,"dumpNode: Node is NULL");\r
-    return;\r
-  };\r
-\r
-  switch (p->ntype) {\r
-    case nJunction :\r
-      j = (Junction *) p;\r
-      fprintf(stderr, "Junction (#%d in rule %s line %d) ",j->seq,j->rname,j->line);\r
-      if (j->guess) fprintf(stderr,"guess block ");\r
-      switch (j->jtype ) {\r
-        case aSubBlk :\r
-          fprintf(stderr,"aSubBlk");\r
-          break;\r
-        case aOptBlk :\r
-          fprintf(stderr,"aOptBlk");\r
-          break;\r
-        case aLoopBegin :\r
-          fprintf(stderr,"aLoopBeginBlk");\r
-          break;\r
-        case aLoopBlk :\r
-          fprintf(stderr,"aLoopBlk");\r
-          break;\r
-        case aPlusBlk :\r
-          fprintf(stderr,"aPlusBlk");\r
-          break;\r
-        case EndBlk :\r
-          fprintf(stderr,"EndBlk");\r
-          break;\r
-        case RuleBlk :\r
-          fprintf(stderr,"RuleBlk");\r
-          break;\r
-        case Generic :\r
-          fprintf(stderr,"Generic");\r
-          break;\r
-        case EndRule :\r
-          fprintf(stderr,"EndRule");\r
-          break;\r
-      };\r
-      if (j->halt) fprintf(stderr,"  halt!");\r
-      if (j->p1) fprintf(stderr," p1 valid");\r
-      if (j->p2) {\r
-        if (j->p2->ntype == nJunction) {\r
-           fprintf(stderr," (p2=#%d)",( (Junction *) j->p2)->seq);\r
-        } else {\r
-           fprintf(stderr," (p2 valid)");\r
-        };\r
-      };\r
-         if (j->ignore) fprintf(stderr, " ignore/plus-block-bypass");\r
-      if (j->fset != NULL && set_deg(*j->fset) != 0) {\r
-         fprintf(stderr,"\nfset:\n");\r
-         dumpset(*j->fset);\r
-      };\r
-      if (j->ftree != NULL) {\r
-         fprintf(stderr,"\nftree:\n");\r
-         preorder(j->ftree);\r
-      };\r
-      fprintf(stderr,"\n");\r
-      break;\r
-    case nRuleRef :\r
-       r = (RuleRefNode *) p;\r
-       fprintf(stderr, "RuleRefNode (in rule %s line %d) to rule %s\n", r->rname,r->line,r->text);\r
-       break;\r
-    case nToken :\r
-       t = (TokNode *) p;\r
-       fprintf(stderr, "TokNode (in rule %s line %d) token %s\n",t->rname,t->line,TerminalString(t->token));\r
-       break;\r
-    case nAction :\r
-       a =(ActionNode *) p;\r
-       if (a->is_predicate) {\r
-         fprintf(stderr, "Predicate (in rule %s line %d) %s",a->rname,a->line,a->action);\r
-         if (a->inverted) fprintf(stderr," action inverted !");\r
-         if (a->guardpred != NULL) {\r
-           fprintf(stderr," guarded");\r
-           dumppredexpr(a->guardpred);\r
-           if (a->ampersandPred) {\r
-             fprintf(stderr," \"&&\" style");\r
-           } else {\r
-             fprintf(stderr," \"=>\" style");\r
-           };\r
-         };\r
-         if (a->predEntry != NULL) fprintf(stderr," predEntry \"%s\" ",a->predEntry->str);\r
-         fprintf(stderr,"\n");\r
-       } else if (a->init_action) {\r
-         fprintf(stderr, "Init-Action (in rule %s line %d) %s\n",a->rname,a->line,a->action);\r
-       } else {\r
-         fprintf(stderr, "Action (in rule %s line %d) %s\n",a->rname,a->line,a->action);\r
-       };\r
-       break;\r
-   };\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-Node * dp1(Node * p)\r
-#else\r
-Node * dp1(p)\r
-  Node *    p;\r
-#endif\r
-{\r
-  Node  *result=NULL;\r
-\r
-  if (p->ntype == nJunction) {\r
-    result=( (Junction *) p )->p1;\r
-    d(result);\r
-  } else {\r
-    fprintf(stderr,"dp1: Not a Junction node");\r
-  };\r
-  return result;\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-Node * dp2(Node * p)\r
-#else\r
-Node * dp2(p)\r
-  Node *    p;\r
-#endif\r
-{\r
-  Node  *result=NULL;\r
-\r
-  if (p->ntype == nJunction) {\r
-    result=( (Junction *) p )->p2;\r
-    d(result);\r
-  } else {\r
-    fprintf(stderr,"dp2: Not a Junction node");\r
-  };\r
-  return result;\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-Node * dn(Node * p)\r
-#else\r
-Node * dn(p)\r
-  Node *    p;\r
-#endif\r
-\r
-{\r
-  Node  *result=NULL;\r
-\r
-  if (p->ntype == nRuleRef) {\r
-    result=( (RuleRefNode *)p )->next;\r
-  } else if (p->ntype == nAction) {\r
-    result=( (ActionNode *)p )->next;\r
-  } else if (p->ntype == nToken) {\r
-    result=( (TokNode *)p )->next;\r
-  } else {\r
-    fprintf(stderr,"No next field: Neither a RuleRefNode, ActionNode, nor TokNode");\r
-  };\r
-  if (result != NULL) d(result);\r
-  return result;\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-void df(Node * p)\r
-#else\r
-void df(p)\r
-  Node *    p;\r
-#endif\r
-{\r
-  int       count=0;\r
-  Node      *next;\r
-\r
-  fprintf(stderr,"\n#%d ",++count);\r
-  d(p);\r
-\r
-  for (next=p; next != NULL && !isEndRule(next) ; ) {\r
-    fprintf(stderr,"#%d ",++count);\r
-    if (next->ntype == nJunction) {\r
-      next=dp1(next);\r
-    } else {\r
-      next=dn(next);\r
-    };\r
-  };\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-Node * dfn(Node * p,int target)\r
-#else\r
-Node * dfn(p,target)\r
-  Node *    p;\r
-  int       target;\r
-#endif\r
-{\r
-  Node      *result=NULL;\r
-  int       count=0;\r
-  Node      *next;\r
-\r
-  fprintf(stderr,"#%d ",++count);\r
-  d(p);\r
-\r
-  for (next=p; next != NULL && !isEndRule(next) ; ) {\r
-    fprintf(stderr,"#%d ",++count);\r
-    if (next->ntype == nJunction) {\r
-      next=dp1(next);\r
-    } else {\r
-      next=dn(next);\r
-    };\r
-    if (count == target) {\r
-      result=next;\r
-      break;\r
-    };\r
-  };\r
-  return result;\r
-}\r
-\r
-\r
-static int findnodeMatch;\r
-\r
-#ifdef __USE_PROTOS\r
-Junction *findnode1(Node *n)\r
-#else\r
-Junction *findnode1(n)\r
-  Node  *n;\r
-#endif\r
-{\r
-   Node         *next;\r
-   Junction     *j;\r
-   Junction     *match;\r
-\r
-   if (n == NULL) return NULL;\r
-   if (n->ntype == nJunction) {\r
-     j=(Junction *) n;\r
-     if (j->seq == findnodeMatch) return j;\r
-     if (j->jtype == EndRule) return NULL;\r
-     if (j->jtype != RuleBlk && j->jtype != EndBlk) {\r
-       if (j->p2 != NULL && !j->ignore) {\r
-          match=findnode1(j->p2);\r
-          if (match != NULL) return match;\r
-       };\r
-     };\r
-   };\r
-   next=MR_advance(n);\r
-   return findnode1(next);\r
-}\r
-\r
-#ifdef __USE_PROTOS\r
-Junction *findnode(int match)\r
-#else\r
-Junction *findnode(match)\r
-  int   match;\r
-#endif\r
-{\r
-  Junction  *j;\r
-  Junction  *result=NULL;\r
-\r
-  findnodeMatch=match;\r
-\r
-  for (j=SynDiag; j != NULL; j=(Junction *)j->p2) {\r
-    require (j->ntype == nJunction && j->jtype == RuleBlk,"Not a rule block");\r
-    result=findnode1( (Node *) j);\r
-    if (result != NULL) break;\r
-  };\r
-  if (result != NULL) {\r
-    d( (Node *) result);\r
-  };\r
-  return result;\r
-}\r