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 + -
显示快捷键?