proto.h

来自「SRI international 发布的OAA框架软件」· C头文件 代码 · 共 853 行 · 第 1/3 页

H
853
字号
extern int istacksize(void);
extern void pushint(int);
extern int popint( void );
extern int istackempty( void );
extern int topint( void );
extern void NewSetWd( void );
extern void DumpSetWd( void );
extern void DumpSetWdForC( void );
extern void DumpSetWdForCC( void );
extern void NewSet( void );
extern void FillSet( set );
extern void ComputeErrorSets( void );
extern void ComputeTokSets( void );
extern void SubstErrorClass( set * );
extern int DefErrSet( set *, int, char * );
extern int DefErrSetForC( set *, int, char * );
extern int DefErrSetForCC( set *, int, char * );
extern int DefErrSet1(int, set *, int, char *);                         /* MR21 */
extern int DefErrSetForC1(int, set *, int, char *, const char* );       /* MR21 */
extern int DefErrSetForCC1(int, set *, int, char *, const char* );      /* MR21 */
extern int DefErrSetWithSuffix(int, set *, int, char *, const char *);  /* MR21 */
extern void GenErrHdr( void );
extern void dumpExpr( FILE *, char * );
extern void addParm( Node *, char * );
extern Graph buildAction( char *, int, int, int );
extern Graph buildToken( char * );
extern Graph buildWildCard( char * );
extern Graph buildRuleRef( char * );
extern Graph Or( Graph, Graph );
extern Graph Cat( Graph, Graph );
extern Graph makeOpt( Graph, int, char *);
extern Graph makeBlk( Graph, int, char *);
extern Graph makeLoop( Graph, int, char *);
extern Graph makePlus( Graph, int, char *);
extern Graph emptyAlt( void );
extern Graph emptyAlt3( void );
extern TokNode * newTokNode( void );
extern RuleRefNode * newRNode( void );
extern Junction * newJunction( void );
extern ActionNode * newActionNode( void );
extern char * makelocks( void );
extern void preorder( Tree * );
extern Tree * tnode( int );
extern void _Tfree( Tree * );
extern Tree * tdup( Tree * );
extern int is_single_tuple( Tree * );
extern Tree * tappend( Tree *, Tree * );
extern void Tfree( Tree * );
extern Tree * tlink( Tree *, Tree *, int );
extern Tree * tshrink( Tree * );
extern Tree * tflatten( Tree * );
extern Tree * tJunc( Junction *, int, set * );
extern Tree * tRuleRef( RuleRefNode *, int, set * );
extern Tree * tToken( TokNode *, int, set * );
extern Tree * tAction( ActionNode *, int, set * );
extern int tmember( Tree *, Tree * );
extern int tmember_constrained( Tree *, Tree * );
extern Tree * tleft_factor( Tree * );
extern Tree * trm_perm( Tree *, Tree * );
extern void tcvt( set *, Tree * );
extern Tree * permute( int, int );
extern Tree * VerifyAmbig( Junction *, Junction *, unsigned **, set *, Tree **, Tree **, int * );
extern set rJunc( Junction *, int, set * );
extern set rRuleRef( RuleRefNode *, int, set * );
extern set rToken( TokNode *, int, set * );
extern set rAction( ActionNode *, int, set * );
extern void HandleAmbiguity( Junction *, Junction *, Junction *, int );
extern set First( Junction *, int, int, int * );
extern void freeBlkFsets( Junction * );
extern void genAction( ActionNode * );
extern void genRuleRef( RuleRefNode * );
extern void genToken( TokNode * );
extern void genOptBlk( Junction * );
extern void genLoopBlk( Junction *, Junction *, Junction *, int );
extern void genLoopBegin( Junction * );
extern void genPlusBlk( Junction * );
extern void genSubBlk( Junction * );
extern void genRule( Junction * );
extern void genJunction( Junction * );
extern void genEndBlk( Junction * );
extern void genEndRule( Junction * );
extern void genHdr( int );
extern void genHdr1( int );
extern void dumpAction( char *, FILE *, int, int, int, int );
extern void dumpActionPlus(ActionNode*, char *, FILE *, int, int, int, int );   /* MR21 */
extern Entry ** newHashTable( void );
extern Entry * hash_add( Entry **, char *, Entry * );
extern Entry * hash_get( Entry **, char * );
extern void hashStat( Entry ** );
extern char * mystrdup( char * );
extern void genLexDescr( void );
extern void dumpLexClasses( FILE * );
extern void genDefFile( void );
extern void DumpListOfParmNames( char *, FILE *, int );	/* MR5 janm 26-May-97 */
extern int DumpNextNameInDef( char **, FILE * );
extern void DumpOldStyleParms( char *, FILE * );
extern void DumpType( char *, FILE * );
extern int strmember( char *, char * );
/* extern int HasComma( char * ); MR23 Replaced by hasMultipleOperands() */
extern void DumpRetValStruct( FILE *, char *, int );
extern char * StripQuotes( char * );
extern int main( int, char *[] );
extern void readDescr( void );
extern FILE * NextFile( void );
extern char * outnameX( char *, char *);
extern char * outname( char * );
extern void fatalFL( char *, char *, int );
extern void fatal_intern( char *, char *, int );
extern void cleanUp( void );
extern char * eMsg3( char *, char *, char *, char * );
extern char * eMsgd( char *, int );
extern char * eMsgd2( char *, int, int );
extern void s_fprT( FILE *, set );
extern char * TerminalString( int );
extern void lexclass( char * );
extern void lexmode( int );
extern int LexClassIndex( char * );
extern int hasAction( char * );
extern void setHasAction( char *, char * );
extern int addTname( char * );
extern int addTexpr( char * );
extern int Tnum( char * );
extern void Tklink( char *, char * );
extern Entry * newEntry( char *, int );
extern void list_add( ListNode **, void * );
extern void list_free( ListNode **, int freeData );     /* MR10 */
extern void list_apply( ListNode *, void (*)(void *) );
extern int list_search_cstring (ListNode *, char *);    /* MR27 */
extern char * Fkey( char *, int, int );
extern void FoPush( char *, int );
extern void FoPop( int );
extern void RegisterCycle( char *, int );
extern void ResolveFoCycles( int );
extern void pJunc( Junction * );
extern void pRuleRef( RuleRefNode * );
extern void pToken( TokNode * );
extern void pAction( ActionNode * );
extern void FoLink( Node * );
extern void addFoLink( Node *, char *, Junction * );
extern void GenCrossRef( Junction * );
extern void defErr( char *, long, long, long, long, long, long );
extern void genStdPCCTSIncludeFile(FILE *,char *);                  /* MR10 */
extern char * pcctsBaseName(char *);                                /* MR32 */
extern Predicate *find_predicates(Node *);                          /* MR10 */
extern Predicate *MR_find_predicates_and_supp(Node *);              /* MR13 */
extern int predicateLookaheadDepth(ActionNode *);                   /* MR10 */
extern void predicate_free(Predicate *);                            /* MR10 */
extern Predicate * predicate_dup(Predicate *);                      /* MR10 */
extern Predicate * predicate_dup_without_context(Predicate *);      /* MR11 */
extern void GenRulePrototypes(FILE *, Junction *);
extern Junction *first_item_is_guess_block(Junction *);
extern Junction *first_item_is_guess_block_extra(Junction * q);		/* MR30 */
extern Junction *analysis_point(Junction *);
extern Tree *make_tree_from_sets(set *, set *);
extern Tree *tdup_chain(Tree *);
extern Tree *tdif(Tree *, Predicate *, set *, set *);
extern set covered_set(Predicate *);
extern void AmbiguityDialog(Junction *, int, Junction *, Junction *, int *, int *);
extern void dumpAmbigMsg(set *, FILE *, int);
extern void GenRuleFuncRedefs(FILE *, Junction *);
extern void GenPredefinedSymbolRedefs(FILE *);
extern void GenASTSymbolRedefs(FILE *);
extern void GenRemapFile(void);
extern void GenSetRedefs(FILE *);
extern ForcedToken *newForcedToken(char *, int);
extern void RemapForcedTokens(void);
extern char *TokenOrExpr(int);
extern void setUpperRange(TokNode *, char *);
extern void GenParser_c_Hdr(void);
extern void GenParser_h_Hdr(void);
extern void GenRuleMemberDeclarationsForCC(FILE *, Junction *);
extern int addForcedTname( char *, int );
extern char *OutMetaName(char *);
extern void OutFirstSetSymbol(Junction *q, char *);                 /* MR21 */
extern void warnNoFL(char *err);
extern void warnFL(char *err,char *f,int l);
extern void warn(char *err);
extern void warnNoCR( char *err );
extern void errNoFL(char *err);
extern void errFL(char *err,char *f,int l);
extern void err(char *err);
extern void errNoCR( char *err );
extern void genPredTree( Predicate *p, Node *j, int ,int);
extern UserAction *newUserAction(char *);
extern char *gate_symbol(char *name);
extern char *makeAltID(int blockid, int altnum);
extern void DumpRemainingTokSets(void);
extern void DumpANSIFunctionArgDef(FILE *f, Junction *q, int bInit);  /* MR23 */
extern void DumpFormals(FILE *, char *, int bInit);                   /* MR23 */
extern char* hideDefaultArgs(const char* pdecl);                      /* MR22 VHS */
extern Predicate *computePredFromContextGuard(Graph,int *msgDone);    /* MR21 */
extern void recomputeContextGuard(Predicate *);                       /* MR13 */
extern Predicate *new_pred(void);
extern void chkGTFlag(void);
extern void leAdd(LabelEntry *);                                     /* MR7 */
extern void leFixup(void);                                           /* MR7 */
extern void egAdd(ExceptionGroup *);                                 /* MR7 */
extern void egFixup(void);                                           /* MR7 */
extern void altAdd(Junction *);                                      /* MR7 */
extern void altFixup(void);                                          /* MR7 */
extern Predicate * MR_find_in_aSubBlk(Junction *alt);                /* MR10 */
extern Predicate * MR_predFlatten(Predicate *p);				     /* MR10 */
extern Predicate * MR_predSimplifyALL(Predicate *p);	             /* MR10 */
extern Predicate * MR_predSimplifyALLX(Predicate *p,int skipPass3);  /* MR10 */
extern int MR_allPredLeaves(Predicate *p);                           /* MR10 */
extern void MR_cleanup_pred_trees(Predicate *p);                     /* MR10 */
extern int MR_predicate_context_completed(Predicate *p);             /* MR10 */
extern void MR_check_pred_too_long(Predicate *p,set completion);     /* MR10 */
extern Tree * MR_remove_epsilon_from_tree(Tree *t);                  /* MR10 */
extern Tree * MR_computeTreeAND(Tree *l,Tree *r);					 /* MR10 */
extern int MR_tree_equ(Tree *big, Tree *small);				         /* MR10 */
extern set MR_First(int ck,Junction *j,set *incomplete);  		     /* MR10 */
extern set MR_compute_pred_set(Predicate *p);                	     /* MR10 */
extern Tree * MR_compute_pred_tree_context(Predicate *p);     	     /* MR10 */
extern int MR_pointerStackPush(PointerStack *,void *);               /* MR10 */
extern void * MR_pointerStackPop(PointerStack *);                    /* MR10 */
extern void * MR_pointerStackTop(PointerStack *);                    /* MR10 */
extern void MR_pointerStackReset(PointerStack *);                    /* MR10 */
extern void MR_backTraceReport(void);                                /* MR10 */
extern void MR_alphaBetaTraceReport(void);                           /* MR14 */
extern void MR_dumpRuleSet(set);                                     /* MR14 */
extern void MR_predContextPresent(Predicate *p,int *,int *);         /* MR10 */
extern void MR_dumpPred(Predicate *p,int withContext);               /* MR10 */
extern void MR_dumpPred1(int,Predicate *p,int withContext);          /* MR10 */
extern void MR_xxxIndent(FILE *f,int depth);                         /* MR11 */
extern void MR_outputIndent(int depth);                              /* MR11 */
extern void MR_stderrIndent(int depth);                              /* MR11 */
extern Junction * MR_ruleReferenced(RuleRefNode *rrn);               /* MR10 */
extern Junction * MR_nameToRuleBlk(char *);                          /* MR10 */
extern void MR_releaseResourcesUsedInRule(Node *);                   /* MR10 */
extern void MR_dumpTreeX(int depth,Tree *t,int across);              /* MR10 */
extern void MR_dumpTreeF(FILE *f,int depth,Tree *t,int across);      /* MR10 */
extern void DumpFcache(void);                                        /* MR10 */
extern void MR_dumpTokenSet(FILE *f,int depth,set s);                /* MR10 */
extern void MR_traceAmbSource(set *,Junction *,Junction *);          /* MR11 */
extern void MR_traceAmbSourceK(Tree *,Junction *a1,Junction *a2);    /* MR11 */
extern void MR_traceAmbSourceKclient(void);                          /* MR20 */
extern Node *MR_advance(Node *);                                     /* MR11 */
extern int  MR_offsetFromRule(Node *);                               /* MR11 */
extern char *MR_ruleNamePlusOffset(Node *);                          /* MR11 */
extern int  MR_max_height_of_tree(Tree *);                           /* MR11 */
extern int  MR_all_leaves_same_height(Tree *,int);                   /* MR11 */
extern void MR_projectTreeOntoSet(Tree *t,int k,set *);              /* MR11 */
extern Tree *MR_make_tree_from_set(set);                             /* MR11 */
extern Predicate *MR_removeRedundantPredPass3(Predicate *);          /* MR11 */
extern void MR_pred_depth(Predicate *,int *);                        /* MR11 */
extern int  MR_comparePredicates(Predicate *,Predicate *);           /* MR11 */
extern Predicate * MR_unfold(Predicate *);                           /* MR11 */
extern void MR_simplifyInverted(Predicate *,int);                    /* MR11 */
extern int  MR_secondPredicateUnreachable                            /* MR11 */
            (Predicate *first,Predicate *second);                    /* MR11 */
extern void MR_clearPredEntry(Predicate *);                          /* MR11 */
extern void MR_orphanRules(FILE *);                                  /* MR12 */
extern void MR_merge_contexts(Tree *);                               /* MR12 */
extern int  ci_strequ(char *,char *);                                 /* MR12 */
extern void MR_guardPred_plainSet(ActionNode *anode,Predicate *);    /* MR12c */
extern void MR_suppressSearchReport(void);                           /* MR12c */
extern Predicate * MR_suppressK(Node *,Predicate *);                 /* MR13 */
extern void MR_backTraceDumpItem(FILE *,int skip,Node *n);           /* MR13 */
extern void MR_backTraceDumpItemReset(void);                         /* MR13 */
extern Junction * MR_junctionWithoutP2(Junction *);                  /* MR13 */
extern void MR_setConstrainPointer(set *);							 /* MR18 */
extern void BlockPreambleOption(Junction *q, char * pSymbol);        /* MR23 */
extern char* getInitializer(char *);                                 /* MR23 */
extern char *endFormal(char *pStart,                                 /* MR23 */
					   char **ppDataType,                            /* MR23 */
					   char **ppSymbol,                              /* MR23 */
					   char **ppEqualSign,                           /* MR23 */
					   char **ppValue,                               /* MR23 */
					   char **ppSeparator,                           /* MR23 */
					   int *pNext);                                  /* MR23 */
extern char *strBetween(char *pStart,                                /* MR23 */
						char *pNext,                                 /* MR23 */
						char *pStop);                                /* MR23 */
extern int hasMultipleOperands(char *);                              /* MR23 */
extern void DumpInitializers(FILE*, RuleEntry*, char*);              /* MR23 */
extern int isTermEntryTokClass(TermEntry *);						 /* MR23 */
extern int isEmptyAlt(Node *, Node *);                               /* MR23 */
#else
extern int STRICMP();
extern void istackreset();
extern int istacksize();
extern void pushint();
extern int popint();
extern int istackempty();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?