📄 proto.h
字号:
/* * proto.h -- function prototypes * * SOFTWARE RIGHTS * * We reserve no LEGAL rights to the Purdue Compiler Construction Tool * Set (PCCTS) -- PCCTS is in the public domain. An individual or * company may do whatever they wish with source code distributed with * PCCTS or the code generated by PCCTS, including the incorporation of * PCCTS, or its output, into commerical software. * * We encourage users to develop software with PCCTS. However, we do ask * that credit is given to us for developing PCCTS. By "credit", * we mean that if you incorporate our source code into one of your * programs (commercial product, research project, or otherwise) that you * acknowledge this fact somewhere in the documentation, research report, * etc... If you like PCCTS and have developed a nice tool with the * output, please mention that you developed it using PCCTS. In * addition, we ask that this header remain intact in our source code. * As long as these guidelines are kept, we expect to continue enhancing * this system and expect to make other tools available as they are * completed. * * ANTLR 1.33 * Terence Parr * Parr Research Corporation * with Purdue University and AHPCRC, University of Minnesota * 1989-1998 */ /* V a r i a b l e s */extern int tp;extern Junction *SynDiag;extern char Version[];extern char VersionDef[];#ifdef __cplusplusextern void (*fpPrint[])(...);#elseextern void (*fpPrint[])();#endif#ifdef __cplusplusextern struct _set (*fpReach[])(...);#elseextern struct _set (*fpReach[])();#endif#ifdef __cplusplusextern struct _tree *(*fpTraverse[])(...);#elseextern struct _tree *(*fpTraverse[])();#endif#ifdef __cplusplusextern void (**fpTrans)(...);#elseextern void (**fpTrans)();#endif#ifdef __cplusplusextern void (**fpJTrans)(...);#elseextern void (**fpJTrans)();#endif#ifdef __cplusplusextern void (*C_Trans[NumNodeTypes+1])(...);#elseextern void (*C_Trans[])();#endif#ifdef __cplusplusextern void (*C_JTrans[NumJuncTypes+1])(...);#elseextern void (*C_JTrans[])();#endifextern int BlkLevel;extern int CurFile;extern char *CurPredName;extern char *CurRule;extern int CurRuleDebug; /* MR13 */extern Junction *CurRuleBlk;extern RuleEntry *CurRuleNode;extern ListNode *CurElementLabels;extern ListNode *ContextGuardPredicateList; /* MR13 */extern ListNode *CurActionLabels;extern int numericActionLabel; /* MR10 << ... $1 ... >> or << ... $1 ... >>? */extern ListNode *NumericPredLabels; /* MR10 << ... $1 ... >>? ONLY */extern char *FileStr[];extern int NumFiles;extern int EpToken;extern int WildCardToken;extern Entry **Tname, **Texpr, **Rname, **Fcache, **Tcache, **Elabel, **Sname, **Pname; /* MR11 */extern ListNode *ExprOrder;extern ListNode **Cycles;extern int TokenNum;extern int LastTokenCounted;extern ListNode *BeforeActions, *AfterActions, *LexActions;/* MR1 *//* MR1 11-Apr-97 Provide mechanism for inserting code into DLG class *//* MR1 via #lexmember <<....>> & #lexprefix <<...>> *//* MR1 */extern ListNode *LexMemberActions; /* MR1 */extern ListNode *LexPrefixActions; /* MR1 */extern set *fset; /* for constrained search */ /* MR11 */extern int maxk; /* for constrained search */ /* MR11 */extern int Save_argc; /* MR10 */extern char **Save_argv; /* MR10 */extern ListNode *eclasses, *tclasses;extern char *HdrAction;extern char *FirstAction; /* MR11 */extern FILE *ErrFile;extern char *RemapFileName;extern char *ErrFileName;extern char *DlgFileName;extern char *DefFileName;extern char *ModeFileName;extern char *StdMsgName;extern int NumRules;extern Junction **RulePtr;extern int LL_k;extern int CLL_k;extern char *decodeJType[];extern int PrintOut;extern int PrintAnnotate;extern int CodeGen;extern int LexGen;extern int esetnum;extern int setnum;extern int wordnum;extern int GenAST;extern int GenANSI;extern int **FoStack;extern int **FoTOS;extern int GenExprSetsOpt;extern FILE *DefFile;extern int CannotContinue;extern int GenCR;extern int GenLineInfo;extern int GenLineInfoMS;extern int action_file, action_line;extern int TraceGen;extern int CurAmbigAlt1, CurAmbigAlt2, CurAmbigline, CurAmbigfile;extern char *CurAmbigbtype;extern int elevel;extern int GenEClasseForRules;extern FILE *input, *output;extern char **TokenStr, **ExprStr;extern int CurrentLexClass, NumLexClasses;extern LClass lclass[];extern char LexStartSymbol[];extern char *CurRetDef;extern char *CurParmDef;extern int OutputLL_k;extern int TreeResourceLimit;extern int DemandLookahead;extern char *RulePrefix;extern int GenStdPccts;extern char *stdpccts;extern int ParseWithPredicates;extern int ConstrainSearch;extern set MR_CompromisedRules; /* MR14 */extern int MR_AmbSourceSearch; /* MR11 */extern int MR_SuppressSearch; /* MR13 */extern int MR_AmbSourceSearchGroup; /* MR11 */extern int MR_AmbSourceSearchChoice; /* MR11 */extern int MR_AmbSourceSearchLimit; /* MR11 */extern int MR_usingPredNames; /* MR11 */extern int MR_ErrorSetComputationActive; /* MR14 */extern char *MR_AmbAidRule; /* MR11 */extern int MR_AmbAidLine; /* MR11 */extern int MR_AmbAidMultiple; /* MR11 */extern int MR_AmbAidDepth; /* MR11 */extern int MR_skipped_e3_report; /* MR11 */extern int MR_matched_AmbAidRule; /* MR11 */extern int MR_Inhibit_Tokens_h_Gen; /* MR13 */extern int NewAST; /* MR13 */extern int AlphaBetaTrace; /* MR14 */extern int MR_AlphaBetaWarning; /* MR14 */extern int MR_AlphaBetaMessageCount; /* MR14 */extern int MR_MaintainBackTrace; /* MR14 */extern int MR_BadExprSets; /* MR13 */extern int FoundGuessBlk;extern int FoundException;extern int FoundAtOperator; /* MR6 */extern int FoundExceptionGroup; /* MR6 */extern int WarningLevel;extern int UseStdout; /* MR6 */extern int TabWidth; /* MR6 */extern int pLevel;extern int pAlt1;extern int pAlt2;extern int AImode;extern int HoistPredicateContext;extern int MRhoisting; /* MR9 */extern int MRhoistingk; /* MR13 */extern int MR_debugGenRule; /* MR11 */extern int GenCC;extern char *ParserName;extern char *StandardSymbols[];extern char *ASTSymbols[];extern set reserved_positions;extern set all_tokens;extern set imag_tokens;extern set tokclasses;extern ListNode *ForcedTokens;extern int *TokenInd;extern FILE *Parser_h, *Parser_c;extern char CurrentClassName[];extern int no_classes_found;extern char Parser_h_Name[];extern char Parser_c_Name[];extern char MRinfoFile_Name[]; /* MR10 */extern FILE *MRinfoFile; /* MR10 */extern int MRinfo; /* MR10 */extern int MRinfoSeq; /* MR10 */extern int InfoP; /* MR10 */extern int InfoT; /* MR10 */extern int InfoF; /* MR10 */extern int InfoM; /* MR10 */extern int InfoO; /* MR12 */extern int PotentialSuppression; /* MR10 */extern int PotentialDummy; /* MR10 */extern int TnodesInUse; /* MR10 */extern int TnodesPeak; /* MR10 */extern int TnodesReportThreshold; /* MR11 */extern int TnodesAllocated; /* MR10 */extern char *ClassDeclStuff; /* MR10 */extern ListNode *class_before_actions, *class_after_actions;extern char *UserTokenDefsFile;extern int UserDefdTokens;extern ListNode *MetaTokenNodes;extern char *OutputDirectory;extern int DontCopyTokens;extern set AST_nodes_refd_in_actions;extern ListNode *CurExGroups;extern int CurBlockID;extern int CurAltNum;extern Junction *CurAltStart;extern Junction *OuterAltStart; /* chain exception groups MR7 */extern ExceptionGroup *DefaultExGroup;extern int NumSignals;extern int ContextGuardTRAV;extern Junction *MR_RuleBlkWithHalt; /* MR10 */extern PointerStack MR_BackTraceStack; /* MR10 */extern PointerStack MR_PredRuleRefStack; /* MR10 */extern PointerStack MR_RuleBlkWithHaltStack; /* MR10 *//* *//* MR1 10-Apr-97 MR1 Previously unable to put right shift operator *//* MR1 in DLG action *//* */extern int tokenActionActive; /* MR1 */extern char *PRED_OR_LIST; /* MR10 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -