]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/CCode/Source/Pccts/antlr/proto.h
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / Tools / CCode / Source / Pccts / antlr / proto.h
diff --git a/Tools/CCode/Source/Pccts/antlr/proto.h b/Tools/CCode/Source/Pccts/antlr/proto.h
deleted file mode 100644 (file)
index 53035e7..0000000
+++ /dev/null
@@ -1,852 +0,0 @@
-/*\r
- * proto.h -- function prototypes\r
- *\r
- * SOFTWARE RIGHTS\r
- *\r
- * We reserve no LEGAL rights to the Purdue Compiler Construction Tool\r
- * Set (PCCTS) -- PCCTS is in the public domain.  An individual or\r
- * company may do whatever they wish with source code distributed with\r
- * PCCTS or the code generated by PCCTS, including the incorporation of\r
- * PCCTS, or its output, into commerical software.\r
- *\r
- * We encourage users to develop software with PCCTS.  However, we do ask\r
- * that credit is given to us for developing PCCTS.  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 PCCTS and have developed a nice tool with the\r
- * output, please mention that you developed it using PCCTS.  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
- * ANTLR 1.33\r
- * Terence Parr\r
- * Parr Research Corporation\r
- * with Purdue University and AHPCRC, University of Minnesota\r
- * 1989-2001\r
- */\r
-\r
-                           /* V a r i a b l e s */\r
-\r
-extern int tp;\r
-extern Junction *SynDiag;\r
-extern char Version[];\r
-extern char VersionDef[];\r
-#ifdef __cplusplus\r
-extern void (*fpPrint[])(...);\r
-#else\r
-extern void (*fpPrint[])();\r
-#endif\r
-#ifdef __cplusplus\r
-extern struct _set (*fpReach[])(...);\r
-#else\r
-extern struct _set (*fpReach[])();\r
-#endif\r
-#ifdef __cplusplus\r
-extern struct _tree *(*fpTraverse[])(...);\r
-#else\r
-extern struct _tree *(*fpTraverse[])();\r
-#endif\r
-#ifdef __cplusplus\r
-extern void (**fpTrans)(...);\r
-#else\r
-extern void (**fpTrans)();\r
-#endif\r
-#ifdef __cplusplus\r
-extern void (**fpJTrans)(...);\r
-#else\r
-extern void (**fpJTrans)();\r
-#endif\r
-#ifdef __cplusplus\r
-extern void (*C_Trans[NumNodeTypes+1])(...);\r
-#else\r
-extern void (*C_Trans[])();\r
-#endif\r
-#ifdef __cplusplus\r
-extern void (*C_JTrans[NumJuncTypes+1])(...);\r
-#else\r
-extern void (*C_JTrans[])();\r
-#endif\r
-extern int BlkLevel;\r
-extern int CurFile;\r
-extern char *CurPredName;\r
-extern char *CurRule;\r
-extern int  CurRuleDebug;                       /* MR13 */\r
-extern Junction *CurRuleBlk;\r
-extern RuleEntry *CurRuleNode;\r
-extern ListNode *CurElementLabels;\r
-extern ListNode *CurAstLabelsInActions;         /* MR27 */\r
-extern ListNode *ContextGuardPredicateList;     /* MR13 */\r
-extern ListNode *CurActionLabels;\r
-extern int numericActionLabel;        /* MR10 << ... $1 ... >> or << ... $1 ... >>?   */\r
-extern ListNode *NumericPredLabels;   /* MR10 << ... $1 ... >>?  ONLY                 */\r
-extern char *FileStr[];\r
-extern int NumFiles;\r
-extern int EpToken;\r
-extern int WildCardToken;\r
-extern Entry   **Tname,\r
-                               **Texpr,\r
-                               **Rname,\r
-                               **Fcache,\r
-                               **Tcache,\r
-                               **Elabel,\r
-                               **Sname,\r
-                **Pname;    /* MR11 */\r
-extern ListNode *ExprOrder;\r
-extern ListNode **Cycles;\r
-extern int TokenNum;\r
-extern int LastTokenCounted;\r
-extern ListNode *BeforeActions, *AfterActions, *LexActions;\r
-\r
-/* MR1                                                                                             */\r
-/* MR1  11-Apr-97      Provide mechanism for inserting code into DLG class     */\r
-/* MR1                   via #lexmember <<....>> & #lexprefix <<...>>              */\r
-/* MR1                                                                     */\r
-\r
-extern ListNode *LexMemberActions;                                          /* MR1 */\r
-extern ListNode *LexPrefixActions;                                          /* MR1 */\r
-\r
-extern set *fset;   /* for constrained search */             /* MR11 */\r
-extern int maxk;    /* for constrained search */             /* MR11 */\r
-extern int Save_argc;                                        /* MR10 */\r
-extern char **Save_argv;                                     /* MR10 */\r
-extern ListNode *eclasses, *tclasses;\r
-extern char    *HdrAction;\r
-extern char *FirstAction;                                    /* MR11 */\r
-extern FILE    *ErrFile;\r
-extern char *RemapFileName;\r
-extern char *ErrFileName;\r
-extern char *DlgFileName;\r
-extern char *DefFileName;\r
-extern char *ModeFileName;\r
-extern char *StdMsgName;\r
-extern int NumRules;\r
-extern Junction **RulePtr;\r
-extern int LL_k;\r
-extern int CLL_k;\r
-extern char *decodeJType[];\r
-extern int PrintOut;\r
-extern int PrintAnnotate;\r
-extern int CodeGen;\r
-extern int LexGen;\r
-extern int esetnum;\r
-extern int setnum;\r
-extern int wordnum;\r
-extern int GenAST;\r
-extern int GenANSI;\r
-extern int **FoStack;\r
-extern int **FoTOS;\r
-extern int GenExprSetsOpt;\r
-extern FILE *DefFile;\r
-extern int CannotContinue;\r
-extern int GenCR;\r
-extern int GenLineInfo;\r
-extern int GenLineInfoMS;\r
-extern int action_file, action_line;\r
-extern int TraceGen;\r
-extern int CurAmbigAlt1, CurAmbigAlt2, CurAmbigline, CurAmbigfile;\r
-extern char *CurAmbigbtype;\r
-extern int elevel;\r
-extern int GenEClasseForRules;\r
-extern FILE *input, *output;\r
-extern char **TokenStr, **ExprStr;\r
-extern int CurrentLexClass, NumLexClasses;\r
-extern LClass lclass[];\r
-extern char LexStartSymbol[];\r
-extern char    *CurRetDef;\r
-extern char    *CurParmDef;\r
-extern int OutputLL_k;\r
-extern int TreeResourceLimit;\r
-extern int DemandLookahead;\r
-extern char *RulePrefix;\r
-extern int GenStdPccts;\r
-extern char *stdpccts;\r
-extern int ParseWithPredicates;\r
-extern int ConstrainSearch;\r
-extern int PURIFY;                                                                                                     /* MR23 */\r
-\r
-extern set MR_CompromisedRules;                                     /* MR14 */\r
-extern int MR_AmbSourceSearch;                                      /* MR11 */\r
-extern int MR_SuppressSearch;                                       /* MR13 */\r
-extern int MR_AmbSourceSearchGroup;                                 /* MR11 */\r
-extern int MR_AmbSourceSearchChoice;                                /* MR11 */\r
-extern int MR_AmbSourceSearchLimit;                                 /* MR11 */\r
-extern int MR_usingPredNames;                                       /* MR11 */\r
-extern int MR_ErrorSetComputationActive;                            /* MR14 */\r
-extern char *MR_AmbAidRule;                                         /* MR11 */\r
-extern int   MR_AmbAidLine;                                         /* MR11 */\r
-extern int   MR_AmbAidMultiple;                                     /* MR11 */\r
-extern int MR_AmbAidDepth;                                          /* MR11 */\r
-extern int MR_skipped_e3_report;                                    /* MR11 */\r
-extern int MR_matched_AmbAidRule;                                   /* MR11 */\r
-extern int MR_Inhibit_Tokens_h_Gen;                                 /* MR13 */\r
-extern int NewAST;                                                  /* MR13 */\r
-extern int tmakeInParser;                                           /* MR23 */\r
-extern int AlphaBetaTrace;                                          /* MR14 */\r
-extern int MR_BlkErr;                                               /* MR21 */\r
-extern int MR_AlphaBetaWarning;                                     /* MR14 */\r
-extern int MR_AlphaBetaMessageCount;                                /* MR14 */\r
-extern int MR_MaintainBackTrace;                                    /* MR14 */\r
-extern int MR_BadExprSets;                                          /* MR13 */\r
-extern int FoundGuessBlk;\r
-extern int FoundException;\r
-extern int FoundAtOperator;                                                         /* MR6 */\r
-extern int FoundExceptionGroup;                                      /* MR6 */\r
-extern int WarningLevel;\r
-extern int UseStdout;                                                               /* MR6 */\r
-extern int TabWidth;                                                                /* MR6 */\r
-extern int pLevel;\r
-extern int pAlt1;\r
-extern int pAlt2;\r
-extern int AImode;\r
-extern int HoistPredicateContext;\r
-extern int MRhoisting;                                               /* MR9 */\r
-extern int MRhoistingk;                                              /* MR13 */\r
-extern int MR_debugGenRule;                                          /* MR11 */\r
-extern int GenCC;\r
-extern char *ParserName;\r
-extern char *StandardSymbols[];\r
-extern char *ASTSymbols[];\r
-extern set reserved_positions;\r
-extern set all_tokens;\r
-extern set imag_tokens;\r
-extern set tokclasses;\r
-extern ListNode *ForcedTokens;\r
-extern int *TokenInd;\r
-extern FILE *Parser_h, *Parser_c;\r
-extern char CurrentClassName[];\r
-extern int no_classes_found;\r
-extern char Parser_h_Name[];\r
-extern char Parser_c_Name[];\r
-extern char MRinfoFile_Name[];                                      /* MR10 */\r
-extern FILE *MRinfoFile;                                            /* MR10 */\r
-extern int MRinfo;                                                  /* MR10 */\r
-extern int MRinfoSeq;                                               /* MR10 */\r
-extern int InfoP;                                                   /* MR10 */\r
-extern int InfoT;                                                   /* MR10 */\r
-extern int InfoF;                                                   /* MR10 */\r
-extern int InfoM;                                                   /* MR10 */\r
-extern int InfoO;                                                   /* MR12 */\r
-extern int PotentialSuppression;                                    /* MR10 */\r
-extern int PotentialDummy;                                          /* MR10 */\r
-extern int TnodesInUse;                                             /* MR10 */\r
-extern int TnodesPeak;                                              /* MR10 */\r
-extern int TnodesReportThreshold;                                   /* MR11 */\r
-extern int TnodesAllocated;                                         /* MR10 */\r
-extern char *ClassDeclStuff;                                        /* MR10 */\r
-extern char *BaseClassName;                                         /* MR22 */\r
-extern ListNode *class_before_actions, *class_after_actions;\r
-extern char *UserTokenDefsFile;\r
-extern int UserDefdTokens;\r
-extern ListNode *MetaTokenNodes;\r
-extern char *OutputDirectory;\r
-extern int DontCopyTokens;\r
-extern int LTinTokenAction;                                         /* MR23 */\r
-extern set AST_nodes_refd_in_actions;\r
-extern ListNode *CurExGroups;\r
-extern int CurBlockID;\r
-extern int CurAltNum;\r
-extern Junction *CurAltStart;\r
-extern Junction *OuterAltStart;               /* chain exception groups MR7 */\r
-extern ExceptionGroup *DefaultExGroup;\r
-extern int NumSignals;\r
-extern int ContextGuardTRAV;\r
-extern Junction *MR_RuleBlkWithHalt;            /* MR10 */\r
-extern PointerStack MR_BackTraceStack;          /* MR10 */\r
-extern PointerStack MR_PredRuleRefStack;        /* MR10 */\r
-extern PointerStack MR_RuleBlkWithHaltStack;    /* MR10 */\r
-\r
-/*                                                                     */\r
-/* MR1 10-Apr-97  MR1  Previously unable to put right shift operator       */\r
-/* MR1                                 in DLG action                                       */\r
-/*                                                                                                         */\r
-extern int tokenActionActive;                                       /* MR1 */\r
-\r
-extern char *PRED_OR_LIST;                                          /* MR10 */\r
-extern char *PRED_AND_LIST;                                         /* MR10 */\r
-\r
-#ifdef __VMS\r
-#define STRICMP strcasecmp /* MR21 */\r
-#else\r
-#define STRICMP stricmp /* MR21 */\r
-#endif\r
-\r
-/* MR26 */\r
-#ifdef PCCTS_USE_STDARG\r
-extern Tree *tmake(Tree *root, ...);\r
-#else\r
-extern Tree *tmake();\r
-#endif\r
-\r
-#ifdef __USE_PROTOS\r
-extern int STRICMP(const char*, const char*);\r
-extern void istackreset(void);\r
-extern int istacksize(void);\r
-extern void pushint(int);\r
-extern int popint( void );\r
-extern int istackempty( void );\r
-extern int topint( void );\r
-extern void NewSetWd( void );\r
-extern void DumpSetWd( void );\r
-extern void DumpSetWdForC( void );\r
-extern void DumpSetWdForCC( void );\r
-extern void NewSet( void );\r
-extern void FillSet( set );\r
-extern void ComputeErrorSets( void );\r
-extern void ComputeTokSets( void );\r
-extern void SubstErrorClass( set * );\r
-extern int DefErrSet( set *, int, char * );\r
-extern int DefErrSetForC( set *, int, char * );\r
-extern int DefErrSetForCC( set *, int, char * );\r
-extern int DefErrSet1(int, set *, int, char *);                         /* MR21 */\r
-extern int DefErrSetForC1(int, set *, int, char *, const char* );       /* MR21 */\r
-extern int DefErrSetForCC1(int, set *, int, char *, const char* );      /* MR21 */\r
-extern int DefErrSetWithSuffix(int, set *, int, char *, const char *);  /* MR21 */\r
-extern void GenErrHdr( void );\r
-extern void dumpExpr( FILE *, char * );\r
-extern void addParm( Node *, char * );\r
-extern Graph buildAction( char *, int, int, int );\r
-extern Graph buildToken( char * );\r
-extern Graph buildWildCard( char * );\r
-extern Graph buildRuleRef( char * );\r
-extern Graph Or( Graph, Graph );\r
-extern Graph Cat( Graph, Graph );\r
-extern Graph makeOpt( Graph, int, char *);\r
-extern Graph makeBlk( Graph, int, char *);\r
-extern Graph makeLoop( Graph, int, char *);\r
-extern Graph makePlus( Graph, int, char *);\r
-extern Graph emptyAlt( void );\r
-extern Graph emptyAlt3( void );\r
-extern TokNode * newTokNode( void );\r
-extern RuleRefNode * newRNode( void );\r
-extern Junction * newJunction( void );\r
-extern ActionNode * newActionNode( void );\r
-extern char * makelocks( void );\r
-extern void preorder( Tree * );\r
-extern Tree * tnode( int );\r
-extern void _Tfree( Tree * );\r
-extern Tree * tdup( Tree * );\r
-extern int is_single_tuple( Tree * );\r
-extern Tree * tappend( Tree *, Tree * );\r
-extern void Tfree( Tree * );\r
-extern Tree * tlink( Tree *, Tree *, int );\r
-extern Tree * tshrink( Tree * );\r
-extern Tree * tflatten( Tree * );\r
-extern Tree * tJunc( Junction *, int, set * );\r
-extern Tree * tRuleRef( RuleRefNode *, int, set * );\r
-extern Tree * tToken( TokNode *, int, set * );\r
-extern Tree * tAction( ActionNode *, int, set * );\r
-extern int tmember( Tree *, Tree * );\r
-extern int tmember_constrained( Tree *, Tree * );\r
-extern Tree * tleft_factor( Tree * );\r
-extern Tree * trm_perm( Tree *, Tree * );\r
-extern void tcvt( set *, Tree * );\r
-extern Tree * permute( int, int );\r
-extern Tree * VerifyAmbig( Junction *, Junction *, unsigned **, set *, Tree **, Tree **, int * );\r
-extern set rJunc( Junction *, int, set * );\r
-extern set rRuleRef( RuleRefNode *, int, set * );\r
-extern set rToken( TokNode *, int, set * );\r
-extern set rAction( ActionNode *, int, set * );\r
-extern void HandleAmbiguity( Junction *, Junction *, Junction *, int );\r
-extern set First( Junction *, int, int, int * );\r
-extern void freeBlkFsets( Junction * );\r
-extern void genAction( ActionNode * );\r
-extern void genRuleRef( RuleRefNode * );\r
-extern void genToken( TokNode * );\r
-extern void genOptBlk( Junction * );\r
-extern void genLoopBlk( Junction *, Junction *, Junction *, int );\r
-extern void genLoopBegin( Junction * );\r
-extern void genPlusBlk( Junction * );\r
-extern void genSubBlk( Junction * );\r
-extern void genRule( Junction * );\r
-extern void genJunction( Junction * );\r
-extern void genEndBlk( Junction * );\r
-extern void genEndRule( Junction * );\r
-extern void genHdr( int );\r
-extern void genHdr1( int );\r
-extern void dumpAction( char *, FILE *, int, int, int, int );\r
-extern void dumpActionPlus(ActionNode*, char *, FILE *, int, int, int, int );   /* MR21 */\r
-extern Entry ** newHashTable( void );\r
-extern Entry * hash_add( Entry **, char *, Entry * );\r
-extern Entry * hash_get( Entry **, char * );\r
-extern void hashStat( Entry ** );\r
-extern char * mystrdup( char * );\r
-extern void genLexDescr( void );\r
-extern void dumpLexClasses( FILE * );\r
-extern void genDefFile( void );\r
-extern void DumpListOfParmNames( char *, FILE *, int );        /* MR5 janm 26-May-97 */\r
-extern int DumpNextNameInDef( char **, FILE * );\r
-extern void DumpOldStyleParms( char *, FILE * );\r
-extern void DumpType( char *, FILE * );\r
-extern int strmember( char *, char * );\r
-/* extern int HasComma( char * ); MR23 Replaced by hasMultipleOperands() */\r
-extern void DumpRetValStruct( FILE *, char *, int );\r
-extern char * StripQuotes( char * );\r
-extern int main( int, char *[] );\r
-extern void readDescr( void );\r
-extern FILE * NextFile( void );\r
-extern char * outnameX( char *, char *);\r
-extern char * outname( char * );\r
-extern void fatalFL( char *, char *, int );\r
-extern void fatal_intern( char *, char *, int );\r
-extern void cleanUp( void );\r
-extern char * eMsg3( char *, char *, char *, char * );\r
-extern char * eMsgd( char *, int );\r
-extern char * eMsgd2( char *, int, int );\r
-extern void s_fprT( FILE *, set );\r
-extern char * TerminalString( int );\r
-extern void lexclass( char * );\r
-extern void lexmode( int );\r
-extern int LexClassIndex( char * );\r
-extern int hasAction( char * );\r
-extern void setHasAction( char *, char * );\r
-extern int addTname( char * );\r
-extern int addTexpr( char * );\r
-extern int Tnum( char * );\r
-extern void Tklink( char *, char * );\r
-extern Entry * newEntry( char *, int );\r
-extern void list_add( ListNode **, void * );\r
-extern void list_free( ListNode **, int freeData );     /* MR10 */\r
-extern void list_apply( ListNode *, void (*)(void *) );\r
-extern int list_search_cstring (ListNode *, char *);    /* MR27 */\r
-extern char * Fkey( char *, int, int );\r
-extern void FoPush( char *, int );\r
-extern void FoPop( int );\r
-extern void RegisterCycle( char *, int );\r
-extern void ResolveFoCycles( int );\r
-extern void pJunc( Junction * );\r
-extern void pRuleRef( RuleRefNode * );\r
-extern void pToken( TokNode * );\r
-extern void pAction( ActionNode * );\r
-extern void FoLink( Node * );\r
-extern void addFoLink( Node *, char *, Junction * );\r
-extern void GenCrossRef( Junction * );\r
-extern void defErr( char *, long, long, long, long, long, long );\r
-extern void genStdPCCTSIncludeFile(FILE *,char *);                  /* MR10 */\r
-extern char * pcctsBaseName(char *);                                /* MR32 */\r
-extern Predicate *find_predicates(Node *);                          /* MR10 */\r
-extern Predicate *MR_find_predicates_and_supp(Node *);              /* MR13 */\r
-extern int predicateLookaheadDepth(ActionNode *);                   /* MR10 */\r
-extern void predicate_free(Predicate *);                            /* MR10 */\r
-extern Predicate * predicate_dup(Predicate *);                      /* MR10 */\r
-extern Predicate * predicate_dup_without_context(Predicate *);      /* MR11 */\r
-extern void GenRulePrototypes(FILE *, Junction *);\r
-extern Junction *first_item_is_guess_block(Junction *);\r
-extern Junction *first_item_is_guess_block_extra(Junction * q);                /* MR30 */\r
-extern Junction *analysis_point(Junction *);\r
-extern Tree *make_tree_from_sets(set *, set *);\r
-extern Tree *tdup_chain(Tree *);\r
-extern Tree *tdif(Tree *, Predicate *, set *, set *);\r
-extern set covered_set(Predicate *);\r
-extern void AmbiguityDialog(Junction *, int, Junction *, Junction *, int *, int *);\r
-extern void dumpAmbigMsg(set *, FILE *, int);\r
-extern void GenRuleFuncRedefs(FILE *, Junction *);\r
-extern void GenPredefinedSymbolRedefs(FILE *);\r
-extern void GenASTSymbolRedefs(FILE *);\r
-extern void GenRemapFile(void);\r
-extern void GenSetRedefs(FILE *);\r
-extern ForcedToken *newForcedToken(char *, int);\r
-extern void RemapForcedTokens(void);\r
-extern char *TokenOrExpr(int);\r
-extern void setUpperRange(TokNode *, char *);\r
-extern void GenParser_c_Hdr(void);\r
-extern void GenParser_h_Hdr(void);\r
-extern void GenRuleMemberDeclarationsForCC(FILE *, Junction *);\r
-extern int addForcedTname( char *, int );\r
-extern char *OutMetaName(char *);\r
-extern void OutFirstSetSymbol(Junction *q, char *);                 /* MR21 */\r
-extern void warnNoFL(char *err);\r
-extern void warnFL(char *err,char *f,int l);\r
-extern void warn(char *err);\r
-extern void warnNoCR( char *err );\r
-extern void errNoFL(char *err);\r
-extern void errFL(char *err,char *f,int l);\r
-extern void err(char *err);\r
-extern void errNoCR( char *err );\r
-extern void genPredTree( Predicate *p, Node *j, int ,int);\r
-extern UserAction *newUserAction(char *);\r
-extern char *gate_symbol(char *name);\r
-extern char *makeAltID(int blockid, int altnum);\r
-extern void DumpRemainingTokSets(void);\r
-extern void DumpANSIFunctionArgDef(FILE *f, Junction *q, int bInit);  /* MR23 */\r
-extern void DumpFormals(FILE *, char *, int bInit);                   /* MR23 */\r
-extern char* hideDefaultArgs(const char* pdecl);                      /* MR22 VHS */\r
-extern Predicate *computePredFromContextGuard(Graph,int *msgDone);    /* MR21 */\r
-extern void recomputeContextGuard(Predicate *);                       /* MR13 */\r
-extern Predicate *new_pred(void);\r
-extern void chkGTFlag(void);\r
-extern void leAdd(LabelEntry *);                                     /* MR7 */\r
-extern void leFixup(void);                                           /* MR7 */\r
-extern void egAdd(ExceptionGroup *);                                 /* MR7 */\r
-extern void egFixup(void);                                           /* MR7 */\r
-extern void altAdd(Junction *);                                      /* MR7 */\r
-extern void altFixup(void);                                          /* MR7 */\r
-extern Predicate * MR_find_in_aSubBlk(Junction *alt);                /* MR10 */\r
-extern Predicate * MR_predFlatten(Predicate *p);                                    /* MR10 */\r
-extern Predicate * MR_predSimplifyALL(Predicate *p);                /* MR10 */\r
-extern Predicate * MR_predSimplifyALLX(Predicate *p,int skipPass3);  /* MR10 */\r
-extern int MR_allPredLeaves(Predicate *p);                           /* MR10 */\r
-extern void MR_cleanup_pred_trees(Predicate *p);                     /* MR10 */\r
-extern int MR_predicate_context_completed(Predicate *p);             /* MR10 */\r
-extern void MR_check_pred_too_long(Predicate *p,set completion);     /* MR10 */\r
-extern Tree * MR_remove_epsilon_from_tree(Tree *t);                  /* MR10 */\r
-extern Tree * MR_computeTreeAND(Tree *l,Tree *r);                                       /* MR10 */\r
-extern int MR_tree_equ(Tree *big, Tree *small);                                         /* MR10 */\r
-extern set MR_First(int ck,Junction *j,set *incomplete);                    /* MR10 */\r
-extern set MR_compute_pred_set(Predicate *p);                       /* MR10 */\r
-extern Tree * MR_compute_pred_tree_context(Predicate *p);           /* MR10 */\r
-extern int MR_pointerStackPush(PointerStack *,void *);               /* MR10 */\r
-extern void * MR_pointerStackPop(PointerStack *);                    /* MR10 */\r
-extern void * MR_pointerStackTop(PointerStack *);                    /* MR10 */\r
-extern void MR_pointerStackReset(PointerStack *);                    /* MR10 */\r
-extern void MR_backTraceReport(void);                                /* MR10 */\r
-extern void MR_alphaBetaTraceReport(void);                           /* MR14 */\r
-extern void MR_dumpRuleSet(set);                                     /* MR14 */\r
-extern void MR_predContextPresent(Predicate *p,int *,int *);         /* MR10 */\r
-extern void MR_dumpPred(Predicate *p,int withContext);               /* MR10 */\r
-extern void MR_dumpPred1(int,Predicate *p,int withContext);          /* MR10 */\r
-extern void MR_xxxIndent(FILE *f,int depth);                         /* MR11 */\r
-extern void MR_outputIndent(int depth);                              /* MR11 */\r
-extern void MR_stderrIndent(int depth);                              /* MR11 */\r
-extern Junction * MR_ruleReferenced(RuleRefNode *rrn);               /* MR10 */\r
-extern Junction * MR_nameToRuleBlk(char *);                          /* MR10 */\r
-extern void MR_releaseResourcesUsedInRule(Node *);                   /* MR10 */\r
-extern void MR_dumpTreeX(int depth,Tree *t,int across);              /* MR10 */\r
-extern void MR_dumpTreeF(FILE *f,int depth,Tree *t,int across);      /* MR10 */\r
-extern void DumpFcache(void);                                        /* MR10 */\r
-extern void MR_dumpTokenSet(FILE *f,int depth,set s);                /* MR10 */\r
-extern void MR_traceAmbSource(set *,Junction *,Junction *);          /* MR11 */\r
-extern void MR_traceAmbSourceK(Tree *,Junction *a1,Junction *a2);    /* MR11 */\r
-extern void MR_traceAmbSourceKclient(void);                          /* MR20 */\r
-extern Node *MR_advance(Node *);                                     /* MR11 */\r
-extern int  MR_offsetFromRule(Node *);                               /* MR11 */\r
-extern char *MR_ruleNamePlusOffset(Node *);                          /* MR11 */\r
-extern int  MR_max_height_of_tree(Tree *);                           /* MR11 */\r
-extern int  MR_all_leaves_same_height(Tree *,int);                   /* MR11 */\r
-extern void MR_projectTreeOntoSet(Tree *t,int k,set *);              /* MR11 */\r
-extern Tree *MR_make_tree_from_set(set);                             /* MR11 */\r
-extern Predicate *MR_removeRedundantPredPass3(Predicate *);          /* MR11 */\r
-extern void MR_pred_depth(Predicate *,int *);                        /* MR11 */\r
-extern int  MR_comparePredicates(Predicate *,Predicate *);           /* MR11 */\r
-extern Predicate * MR_unfold(Predicate *);                           /* MR11 */\r
-extern void MR_simplifyInverted(Predicate *,int);                    /* MR11 */\r
-extern int  MR_secondPredicateUnreachable                            /* MR11 */\r
-            (Predicate *first,Predicate *second);                    /* MR11 */\r
-extern void MR_clearPredEntry(Predicate *);                          /* MR11 */\r
-extern void MR_orphanRules(FILE *);                                  /* MR12 */\r
-extern void MR_merge_contexts(Tree *);                               /* MR12 */\r
-extern int  ci_strequ(char *,char *);                                 /* MR12 */\r
-extern void MR_guardPred_plainSet(ActionNode *anode,Predicate *);    /* MR12c */\r
-extern void MR_suppressSearchReport(void);                           /* MR12c */\r
-extern Predicate * MR_suppressK(Node *,Predicate *);                 /* MR13 */\r
-extern void MR_backTraceDumpItem(FILE *,int skip,Node *n);           /* MR13 */\r
-extern void MR_backTraceDumpItemReset(void);                         /* MR13 */\r
-extern Junction * MR_junctionWithoutP2(Junction *);                  /* MR13 */\r
-extern void MR_setConstrainPointer(set *);                                                      /* MR18 */\r
-extern void BlockPreambleOption(Junction *q, char * pSymbol);        /* MR23 */\r
-extern char* getInitializer(char *);                                 /* MR23 */\r
-extern char *endFormal(char *pStart,                                 /* MR23 */\r
-                                          char **ppDataType,                            /* MR23 */\r
-                                          char **ppSymbol,                              /* MR23 */\r
-                                          char **ppEqualSign,                           /* MR23 */\r
-                                          char **ppValue,                               /* MR23 */\r
-                                          char **ppSeparator,                           /* MR23 */\r
-                                          int *pNext);                                  /* MR23 */\r
-extern char *strBetween(char *pStart,                                /* MR23 */\r
-                                               char *pNext,                                 /* MR23 */\r
-                                               char *pStop);                                /* MR23 */\r
-extern int hasMultipleOperands(char *);                              /* MR23 */\r
-extern void DumpInitializers(FILE*, RuleEntry*, char*);              /* MR23 */\r
-extern int isTermEntryTokClass(TermEntry *);                                            /* MR23 */\r
-extern int isEmptyAlt(Node *, Node *);                               /* MR23 */\r
-#else\r
-extern int STRICMP();\r
-extern void istackreset();\r
-extern int istacksize();\r
-extern void pushint();\r
-extern int popint();\r
-extern int istackempty();\r
-extern int topint();\r
-extern void NewSetWd();\r
-extern void DumpSetWd();\r
-extern void DumpSetWdForC();\r
-extern void DumpSetWdForCC();\r
-extern void NewSet();\r
-extern void FillSet();\r
-extern void ComputeErrorSets();\r
-extern void ComputeTokSets();\r
-extern void SubstErrorClass();\r
-extern int DefErrSet();\r
-extern int DefErrSetForC();\r
-extern int DefErrSetForCC();\r
-extern int DefErrSet1();\r
-extern int DefErrSetForC1();\r
-extern int DefErrSetForCC1();\r
-extern int DefErrSetWithSuffix();                                   /* MR21 */\r
-extern void GenErrHdr();\r
-extern void dumpExpr();\r
-extern void addParm();\r
-extern Graph buildAction();\r
-extern Graph buildToken();\r
-extern Graph buildWildCard();\r
-extern Graph buildRuleRef();\r
-extern Graph Or();\r
-extern Graph Cat();\r
-extern Graph makeOpt();\r
-extern Graph makeBlk();\r
-extern Graph makeLoop();\r
-extern Graph makePlus();\r
-extern Graph emptyAlt();\r
-extern Graph emptyAlt3();\r
-extern TokNode * newTokNode();\r
-extern RuleRefNode * newRNode();\r
-extern Junction * newJunction();\r
-extern ActionNode * newActionNode();\r
-extern char * makelocks();\r
-extern void preorder();\r
-extern Tree * tnode();\r
-extern void _Tfree();\r
-extern Tree * tdup();\r
-extern int is_single_tuple();\r
-extern Tree * tappend();\r
-extern void Tfree();\r
-extern Tree * tlink();\r
-extern Tree * tshrink();\r
-extern Tree * tflatten();\r
-extern Tree * tJunc();\r
-extern Tree * tRuleRef();\r
-extern Tree * tToken();\r
-extern Tree * tAction();\r
-extern int tmember();\r
-extern int tmember_constrained();\r
-extern Tree * tleft_factor();\r
-extern Tree * trm_perm();\r
-extern void tcvt();\r
-extern Tree * permute();\r
-extern Tree * VerifyAmbig();\r
-extern set rJunc();\r
-extern set rRuleRef();\r
-extern set rToken();\r
-extern set rAction();\r
-extern void HandleAmbiguity();\r
-extern set First();\r
-extern void freeBlkFsets();\r
-extern void genAction();\r
-extern void genRuleRef();\r
-extern void genToken();\r
-extern void genOptBlk();\r
-extern void genLoopBlk();\r
-extern void genLoopBegin();\r
-extern void genPlusBlk();\r
-extern void genSubBlk();\r
-extern void genRule();\r
-extern void genJunction();\r
-extern void genEndBlk();\r
-extern void genEndRule();\r
-extern void genHdr();\r
-extern void genHdr1();\r
-extern void dumpAction();\r
-extern void dumpActionPlus();                           /* MR21 */\r
-extern Entry ** newHashTable();\r
-extern Entry * hash_add();\r
-extern Entry * hash_get();\r
-extern void hashStat();\r
-extern char * mystrdup();\r
-extern void genLexDescr();\r
-extern void dumpLexClasses();\r
-extern void genDefFile();\r
-extern void DumpListOfParmNames();                    /* MR5 janm 26-May-97 */\r
-extern int DumpNextNameInDef();\r
-extern void DumpOldStyleParms();\r
-extern void DumpType();\r
-extern int strmember();\r
-/* extern int HasComma(); MR23 Replaced by hasMultipleOperands() */\r
-extern void DumpRetValStruct();\r
-extern char * StripQuotes();\r
-extern int main();\r
-extern void readDescr();\r
-extern FILE * NextFile();\r
-extern char * outnameX();\r
-extern char * outname();\r
-extern void fatalFL();\r
-extern void fatal_intern();\r
-extern void cleanUp();\r
-extern char * eMsg3();\r
-extern char * eMsgd();\r
-extern char * eMsgd2();\r
-extern void s_fprT();\r
-extern char * TerminalString();\r
-extern void lexclass();\r
-extern void lexmode();\r
-extern int LexClassIndex();\r
-extern int hasAction();\r
-extern void setHasAction();\r
-extern int addTname();\r
-extern int addTexpr();\r
-extern int Tnum();\r
-extern void Tklink();\r
-extern Entry * newEntry();\r
-extern void list_add();\r
-extern void list_free();                /* MR10 */\r
-extern void list_apply();\r
-extern int list_search_cstring ();      /* MR27 */\r
-extern char * Fkey();\r
-extern void FoPush();\r
-extern void FoPop();\r
-extern void RegisterCycle();\r
-extern void ResolveFoCycles();\r
-extern void pJunc();\r
-extern void pRuleRef();\r
-extern void pToken();\r
-extern void pAction();\r
-extern void FoLink();\r
-extern void addFoLink();\r
-extern void GenCrossRef();\r
-extern void defErr();\r
-extern void genStdPCCTSIncludeFile();\r
-extern char * pcctsBaseName();                                /* MR32 */\r
-extern Predicate *find_predicates();\r
-extern Predicate *MR_find_predicates_and_supp();              /* MR13 */\r
-extern int predicateLookaheadDepth();                         /* MR10 */\r
-extern void predicate_free();                                 /* MR10 */\r
-extern Predicate * predicate_dup();                           /* MR10 */\r
-extern Predicate * predicate_dup_without_context();           /* MR11 */\r
-extern void GenRulePrototypes();\r
-extern Junction *first_item_is_guess_block();\r
-extern Junction *first_item_is_guess_block_extra();                      /* MR30 */\r
-extern Junction *analysis_point();\r
-extern Tree *make_tree_from_sets();\r
-extern Tree *tdup_chain();\r
-extern Tree *tdif();\r
-extern set covered_set();\r
-extern void AmbiguityDialog();\r
-extern void dumpAmbigMsg();\r
-extern void GenRuleFuncRedefs();\r
-extern void GenPredefinedSymbolRedefs();\r
-extern void GenASTSymbolRedefs();\r
-extern void GenRemapFile();\r
-extern void GenSetRedefs();\r
-extern ForcedToken *newForcedToken();\r
-extern void RemapForcedTokens();\r
-extern char *TokenOrExpr();\r
-extern void setUpperRange();\r
-extern void GenParser_c_Hdr();\r
-extern void GenParser_h_Hdr();\r
-extern void GenRuleMemberDeclarationsForCC();\r
-extern int addForcedTname();\r
-extern char *OutMetaName();\r
-extern void OutFirstSetSymbol();                            /* MR21 */\r
-extern void warnNoFL();\r
-extern void warnFL();\r
-extern void warn();\r
-extern void warnNoCR();\r
-extern void errNoFL();\r
-extern void errFL();\r
-extern void err();\r
-extern void errNoCR();\r
-extern void genPredTree();\r
-extern UserAction *newUserAction();\r
-extern char *gate_symbol();\r
-extern char *makeAltID();\r
-extern void DumpRemainingTokSets();\r
-extern void DumpANSIFunctionArgDef();\r
-extern void DumpFormals();                                           /* MR23 */\r
-extern char* hideDefaultArgs();                                      /* MR22 VHS */\r
-extern Predicate *computePredFromContextGuard();\r
-extern void recomputeContextGuard();                                 /* MR13 */\r
-extern Predicate *new_pred();\r
-extern void chkGTFlag();\r
-extern void leAdd();                                                 /* MR7 */\r
-extern void leFixup();                                               /* MR7 */\r
-extern void egAdd();                                                 /* MR7 */\r
-extern void egFixup();                                               /* MR7 */\r
-extern void altAdd();                                                /* MR7 */\r
-extern void altFixup();                                              /* MR7 */\r
-extern Predicate * MR_find_in_aSubBlk();                                       /* MR10 */\r
-extern Predicate * MR_predFlatten();                                                   /* MR10 */\r
-extern Predicate * MR_predSimplifyALL();                            /* MR10 */\r
-extern Predicate * MR_predSimplifyALLX();                           /* MR10 */\r
-extern void MR_cleanup_pred_trees();                                /* MR10 */\r
-extern int MR_allPredLeaves();                                      /* MR10 */\r
-extern int MR_predicate_context_completed();                        /* MR10 */\r
-extern void MR_check_pred_too_long();                               /* MR10 */\r
-extern Tree * MR_remove_epsilon_from_tree();                                   /* MR10 */\r
-extern Tree * MR_computeTreeAND();                                                     /* MR10 */\r
-extern int MR_tree_equ();                                                      /* MR10 */\r
-extern set MR_First();                                                         /* MR10 */\r
-extern set MR_compute_pred_set();                                                  /* MR10 */\r
-extern Tree * MR_compute_pred_tree_context();                                  /* MR10 */\r
-extern int MR_pointerStackPush();                                   /* MR10 */\r
-extern void * MR_pointerStackPop();                                 /* MR10 */\r
-extern void * MR_pointerStackTop();                                 /* MR10 */\r
-extern void MR_pointerStackReset();                                 /* MR10 */\r
-extern void MR_backTraceReport();                                   /* MR10 */\r
-extern void MR_alphaBetaTraceReport();                              /* MR14 */\r
-extern void MR_dumpRuleSet();                                       /* MR14 */\r
-extern void MR_predContextPresent();                                /* MR10 */\r
-extern void MR_dumpPred();                                          /* MR10 */\r
-extern void MR_dumpPred1();                                         /* MR10 */\r
-extern void MR_xxxIndent();                                         /* MR11 */\r
-extern void MR_stderrIndent();                                      /* MR11 */\r
-extern void MR_outputIndent();                                      /* MR11 */\r
-extern Junction * MR_ruleReferenced();                              /* MR10 */\r
-extern void MR_releaseResourcesUsedInRule();                        /* MR10 */\r
-extern void MR_dumpTreeX();                                         /* MR10 */\r
-extern void MR_dumpTreeF();                                         /* MR10 */\r
-extern void DumpFcache();                                           /* MR10 */\r
-extern void MR_dumpTokenSet();                                      /* MR10 */\r
-extern void MR_traceAmbSource();                                    /* MR11 */\r
-extern Node *MR_advance();                                          /* MR11 */\r
-extern int  MR_offsetFromRule();                                    /* MR11 */\r
-extern char *MR_ruleNamePlusOffset();                               /* MR11 */\r
-extern void MR_traceAmbSourceK();                                   /* MR11 */\r
-extern void MR_traceAmbSourceKclient();                             /* [i_a] added */\r
-extern int  MR_max_height_of_tree();                                /* MR11 */\r
-extern int  MR_all_leaves_same_height();                            /* MR11 */\r
-extern void MR_projectTreeOntoSet();                                /* MR11 */\r
-extern Tree *MR_make_tree_from_set();                               /* MR11 */\r
-extern Predicate *MR_removeRedundantPredPass3();                    /* MR11 */\r
-extern void MR_pred_depth();                                        /* MR11 */\r
-extern int  MR_comparePredicates();                                 /* MR11 */\r
-extern Predicate * MR_unfold();                                     /* MR11 */\r
-extern void MR_simplifyInverted();                                  /* MR11 */\r
-extern int  MR_secondPredicateUnreachable();                        /* MR11 */\r
-extern Junction * MR_nameToRuleBlk();                               /* MR10 */\r
-extern void MR_clearPredEntry();                                    /* MR11 */\r
-extern void MR_orphanRules();                                       /* MR12 */\r
-extern void MR_merge_contexts();                                    /* MR12 */\r
-extern int ci_strequ();                                             /* MR12 */\r
-extern void MR_guardPred_plainSet();                                /* MR12c */\r
-extern void MR_suppressSearchReport();                              /* MR12c */\r
-extern Predicate * MR_suppressK();                                  /* MR13 */\r
-extern void MR_backTraceDumpItem();                                 /* MR13 */\r
-extern void MR_backTraceDumpItemReset();                            /* MR13 */\r
-extern Junction * MR_junctionWithoutP2();                           /* MR13 */\r
-extern void MR_setConstrainPointer();                                                      /* MR18 */\r
-extern void BlockPreambleOption();                                  /* MR23 */\r
-extern char* getInitializer();                                      /* MR23 */\r
-extern int hasMultipleOperands();                                   /* MR23 */\r
-extern char *endFormal();                                           /* MR23 */\r
-extern char *strBetween();                                          /* MR23 */\r
-extern void DumpInitializers();                                     /* MR23 */\r
-extern int isTermEntryTokClass();                                                                  /* MR23 */\r
-extern int isEmptyAlt();\r
-\r
-#endif\r
-\r
-#ifdef __USE_PROTOS\r
-#include <stdlib.h>\r
-#endif\r
-\r
-/* MR20 G. Hobbelt  Create proper externs for dlg variables */\r
-\r
-extern set attribsRefdFromAction;\r
-extern int inAlt;\r
-extern int UsedOldStyleAttrib;\r
-extern int UsedNewStyleLabel;\r
-\r
-#define MAX_BLK_LEVEL 100                       /* MR23 */\r
-extern int     CurBlockID_array[MAX_BLK_LEVEL]; /* MR23 */\r
-extern int     CurAltNum_array[MAX_BLK_LEVEL];  /* MR23 */\r