+++ /dev/null
-#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
-void \r
-#ifdef __USE_PROTOS\r
-dumpcycles(void)\r
-#else\r
-dumpcycles()\r
-#endif\r
-{\r
- Cycle *c;\r
- CacheEntry *f;\r
- ListNode *p;\r
- int i=0;\r
- int k;\r
- int degree;\r
-\r
- for (k=1; k <= CLL_k; k++) {\r
- if (Cycles[k] == NULL) continue;\r
-\r
- for (p = Cycles[k]->next; p!=NULL; p=p->next) {\r
- c = (Cycle *) p->elem;\r
- degree=set_deg(c->cyclicDep);\r
- fprintf(stderr,"Cycle %d: (degree %d) %s -->\n", i++, degree, RulePtr[c->croot]->rname);\r
- fprintf(stderr," *self*\n");\r
- MR_dumpRuleSet(c->cyclicDep);\r
- fprintf(stderr,"\n");\r
- f = (CacheEntry *)\r
- hash_get(Fcache,Fkey(RulePtr[c->croot]->rname,'o',k));\r
- if (f == NULL) {\r
- fprintf(stderr," *** FOLLOW(%s) must be in cache but isn't ***\n",\r
- RulePtr[c->croot]->rname);\r
- };\r
- };\r
- };\r
-}\r
-\r
-void \r
-#ifdef __USE_PROTOS\r
-dumpfostack(int k) \r
-#else\r
-dumpfostack(k) \r
-int k;\r
-#endif\r
-{\r
- int i=0;\r
- int *pi;\r
-\r
- fprintf(stderr,"\n");\r
- if (FoStack[k] == NULL) {\r
- fprintf(stderr,"FoStack[%d] is null\n",k);\r
- };\r
- if (FoTOS[k] == NULL) {\r
- fprintf(stderr,"FoTOS[%d] is null\n",k);\r
- }\r
- if (FoTOS[k] != NULL && FoStack[k] != NULL) {\r
- for (pi=FoStack[k]; pi <= FoTOS[k]; pi++) {\r
- i++;\r
- fprintf(stderr,"#%d rule %d %s\n",i,*pi,RulePtr[*pi]->rname);\r
- }\r
- }\r
-}\r