亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? antlr.c

?? SRI international 發(fā)布的OAA框架軟件
?? C
?? 第 1 頁 / 共 5 頁
字號:
  
			ExceptionGroup *eg;
  RuleEntry *q; Junction *p; Graph r; int f, l; ECnode *e;
  set toksrefd, rulesrefd;
  char *pdecl=NULL, *ret=NULL, *a; CurRetDef = CurParmDef = NULL;
  CurExGroups = NULL;
  CurElementLabels = NULL;
  CurAstLabelsInActions = NULL; /* MR27 */
  /* We want a new element label hash table for each rule */
  if ( Elabel!=NULL ) killHashTable(Elabel);
  Elabel = newHashTable();
  attribsRefdFromAction = empty;
  zzmatch(NonTerminal);
  q=NULL;
  if ( hash_get(Rname, LATEXT(1))!=NULL ) {
    err(eMsg1("duplicate rule definition: '%s'",LATEXT(1)));
    CannotContinue=TRUE;
  }
  else
  {
    q = (RuleEntry *)hash_add(Rname,
    LATEXT(1),
    (Entry *)newRuleEntry(LATEXT(1)));
    CurRule = q->str;
  }
  CurRuleNode = q;
  f = CurFile; l = zzline;
  NumRules++;
 zzCONSUME;

  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==103) ) {
      zzmatch(103);
      if ( q!=NULL ) q->noAST = TRUE;
 zzCONSUME;

    }
    else {
      if ( (setwd1[LA(1)]&0x80) ) {
      }
      else {zzFAIL(1,zzerr4,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    ;
    if ( (setwd2[LA(1)]&0x1) ) {
      {
        zzBLOCK(zztasp3);
        zzMake0;
        {
        if ( (LA(1)==104) ) {
          zzmatch(104); zzCONSUME;
        }
        else {
          if ( (LA(1)==PassAction) ) {
          }
          else {zzFAIL(1,zzerr5,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
        }
        zzEXIT(zztasp3);
        }
      }
      zzmatch(PassAction);
      pdecl = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
      require(pdecl!=NULL, "rule rule: cannot allocate param decl");
      strcpy(pdecl, LATEXT(1));
      CurParmDef = pdecl;
 zzCONSUME;

    }
    else {
      if ( (setwd2[LA(1)]&0x2) ) {
      }
      else {zzFAIL(1,zzerr6,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==105) ) {
      zzmatch(105); zzCONSUME;
      zzmatch(PassAction);
      ret = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
      require(ret!=NULL, "rule rule: cannot allocate ret type");
      strcpy(ret, LATEXT(1));
      CurRetDef = ret;
 zzCONSUME;

    }
    else {
      if ( (setwd2[LA(1)]&0x4) ) {
      }
      else {zzFAIL(1,zzerr7,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==QuotedTerm) ) {
      zzmatch(QuotedTerm);
      if ( q!=NULL ) q->egroup=mystrdup(LATEXT(1));
 zzCONSUME;

    }
    else {
      if ( (LA(1)==106) ) {
      }
      else {zzFAIL(1,zzerr8,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  
  if ( GenEClasseForRules && q!=NULL ) {
    e = newECnode;
    require(e!=NULL, "cannot allocate error class node");
    if ( q->egroup == NULL ) {a = q->str; a[0] = (char)toupper(a[0]);}
    else a = q->egroup;
    if ( Tnum( a ) == 0 )
    {
      e->tok = addTname( a );
      list_add(&eclasses, (char *)e);
      if ( q->egroup == NULL ) a[0] = (char)tolower(a[0]);
      /* refers to itself */
      list_add(&(e->elist), mystrdup(q->str));
    }
    else {
      warn(eMsg1("default errclass for '%s' would conflict with token/errclass/tokclass",a));
      if ( q->egroup == NULL ) a[0] = (char)tolower(a[0]);
      free((char *)e);
    }
  }
  BlkLevel++;
  if (BlkLevel >= MAX_BLK_LEVEL) fatal("Blocks nested too deeply");
  /* MR23 */    CurBlockID_array[BlkLevel] = CurBlockID;
  /* MR23 */    CurAltNum_array[BlkLevel] = CurAltNum;
  zzmatch(106);
  inAlt=1;
 zzCONSUME;

  block( &toksrefd, &rulesrefd );
  r = makeBlk(zzaArg(zztasp1,7),0, NULL /* pFirstSetSymbol */ );
  CurRuleBlk = (Junction *)r.left;
  CurRuleBlk->blockid = CurBlockID;
  CurRuleBlk->jtype = RuleBlk;
  if ( q!=NULL ) CurRuleBlk->rname = q->str;
  CurRuleBlk->file = f;
  CurRuleBlk->line = l;
  CurRuleBlk->pdecl = pdecl;
  CurRuleBlk->ret = ret;
  CurRuleBlk->lock = makelocks();
  CurRuleBlk->pred_lock = makelocks();
  CurRuleBlk->tokrefs = toksrefd;
  CurRuleBlk->rulerefs = rulesrefd;
  p = newJunction();	/* add EndRule Node */
  ((Junction *)r.right)->p1 = (Node *)p;
  r.right = (Node *) p;
  p->jtype = EndRule;
  p->lock = makelocks();
  p->pred_lock = makelocks();
  CurRuleBlk->end = p;
  if ( q!=NULL ) q->rulenum = NumRules;
  zzaArg(zztasp1,7) = r;
  
  /* MR23 */      CurBlockID_array[BlkLevel] = (-1);
  /* MR23 */      CurAltNum_array[BlkLevel] = (-1);                
  --BlkLevel;
  altFixup();leFixup();egFixup();
  zzmatch(107);
  inAlt=0;
 zzCONSUME;

  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==Action) ) {
      zzmatch(Action);
      a = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
      require(a!=NULL, "rule rule: cannot allocate error action");
      strcpy(a, LATEXT(1));
      CurRuleBlk->erraction = a;
 zzCONSUME;

    }
    else {
      if ( (setwd2[LA(1)]&0x8) ) {
      }
      else {zzFAIL(1,zzerr9,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    while ( (LA(1)==133) ) {
       eg  = exception_group();

      if ( eg!=NULL ) {
        list_add(&CurExGroups, (void *)eg);
        if (eg->label == NULL || *eg->label=='\0' ) q->has_rule_exception = 1;
      }
      zzLOOP(zztasp2);
    }
    zzEXIT(zztasp2);
    }
  }
  if ( q==NULL ) zzaArg(zztasp1,0 ).left = NULL; else zzaArg(zztasp1,0) = zzaArg(zztasp1,7);
  CurRuleBlk->exceptions = CurExGroups;
  CurRuleBlk->el_labels = CurElementLabels;
  CurRuleNode->ast_labels_in_actions = CurAstLabelsInActions;
  CurRuleNode = NULL;
  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  CannotContinue=TRUE;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd2, 0x10);
  }
}

void
#ifdef __USE_PROTOS
laction(void)
#else
laction()
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  char *a;
  zzmatch(108); zzCONSUME;
  zzmatch(Action);
  
  a = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
  require(a!=NULL, "rule laction: cannot allocate action");
  strcpy(a, LATEXT(1));
  list_add(&LexActions, a);
 zzCONSUME;

  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  CannotContinue=TRUE;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd2, 0x20);
  }
}

void
#ifdef __USE_PROTOS
lmember(void)
#else
lmember()
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  char *a;
  zzmatch(109); zzCONSUME;
  zzmatch(Action);
  
  /* MR1 */		if (! GenCC) {
    /* MR1 */		  err("Use #lexmember only in C++ mode (to insert code in DLG class header");
    /* MR1 */	        } else {
    /* MR1 */		  a = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
    /* MR1 */		  require(a!=NULL, "rule lmember: cannot allocate action");
    /* MR1 */		  strcpy(a, LATEXT(1));
    /* MR1 */		  list_add(&LexMemberActions, a);
    /* MR1 */		};
  /* MR1 */
 zzCONSUME;

  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  CannotContinue=TRUE;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd2, 0x40);
  }
}

void
#ifdef __USE_PROTOS
lprefix(void)
#else
lprefix()
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  char *a;
  zzmatch(110); zzCONSUME;
  zzmatch(Action);
  
  /* MR1 */		if (! GenCC) {
    /* MR1 */		  err("Use #lexprefix only in C++ mode (to insert code in DLG class header");
    /* MR1 */	        } else {
    /* MR1 */		  a = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
    /* MR1 */		  require(a!=NULL, "rule lprefix: cannot allocate action");
    /* MR1 */		  strcpy(a, LATEXT(1));
    /* MR1 */		  list_add(&LexPrefixActions, a);
    /* MR1 */		};
  /* MR1 */
 zzCONSUME;

  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  CannotContinue=TRUE;  
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd2, 0x80);
  }
}

void
#ifdef __USE_PROTOS
aPred(void)
#else
aPred()
#endif
{
  zzRULE;
  zzBLOCK(zztasp1);
  zzMake0;
  {
  PredEntry     *predEntry=NULL;
  char          *name=NULL;
  Predicate     *predExpr=NULL;
  char          *predLiteral=NULL;
  int           save_file;
  int           save_line;
  int           predExprPresent=0;
  zzmatch(111);
  
  MR_usingPredNames=1;      /* will need to use -mrhoist version of genPredTree */
 zzCONSUME;

  zzmatch(TokenTerm);
  name=mystrdup(LATEXT(1));
 zzCONSUME;

  
  /* don't free - referenced in predicates */
  
            CurPredName=(char *)calloc(1,strlen(name) + 10);
  strcat(CurPredName,"#pred ");
  strcat(CurPredName,name);
  
            predEntry=(PredEntry *) hash_get(Pname,name);
  if (predEntry != NULL) {
  warnFL(eMsg1("#pred %s previously defined - ignored",name),
  FileStr[action_file],action_line);
  name=NULL;
};
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==Pred) ) {
      zzmatch(Pred);
      predLiteral=mystrdup(LATEXT(1));
      save_line=action_line;
      save_file=action_file;
 zzCONSUME;

      {
        zzBLOCK(zztasp3);
        zzMake0;
        {
        if ( (setwd3[LA(1)]&0x1) ) {
           predExpr  = predOrExpr();

          predExprPresent=1;
        }
        else {
          if ( (setwd3[LA(1)]&0x2) ) {
          }
          else {zzFAIL(1,zzerr10,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
        }
        zzEXIT(zztasp3);
        }
      }
      if (predLiteral != NULL && name != NULL) {
        
                      /*
        *  predExpr may be NULL due to syntax errors
        *    or simply omitted by the user
        */
        
                      predEntry=newPredEntry(name);
        predEntry->file=save_file;
        predEntry->line=save_line;
        predExpr=MR_predFlatten(predExpr);
        predEntry->predLiteral=predLiteral;
        if (! predExprPresent || predExpr == NULL) {
          predExpr=new_pred();
          predExpr->expr=predLiteral;
          predExpr->source=newActionNode();
          predExpr->source->action=predExpr->expr;
          predExpr->source->rname=CurPredName;
          predExpr->source->line=action_line;
          predExpr->source->file=action_file;
          predExpr->source->is_predicate=1;
          predExpr->k=predicateLookaheadDepth(predExpr->source);
        };
        predEntry->pred=predExpr;
        hash_add(Pname,name,(Entry *)predEntry);
        predExpr=NULL;
      };
      predicate_free(predExpr);
    }
    else {
      if ( (setwd3[LA(1)]&0x4) ) {
        save_line=zzline; save_file=CurFile;
         predExpr  = predOrExpr();

        if (predExpr != NULL && name != NULL) {
          predEntry=newPredEntry(name);
          predEntry->file=CurFile;
          predEntry->line=zzline;
          predExpr=MR_predFlatten(predExpr);
          predEntry->pred=predExpr;
          hash_add(Pname,name,(Entry *)predEntry);
          predExpr=NULL;
        };
        predicate_free(predExpr);
      }
      else {zzFAIL(1,zzerr11,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  {
    zzBLOCK(zztasp2);
    zzMake0;
    {
    if ( (LA(1)==107) ) {
      zzmatch(107); zzCONSUME;
    }
    else {
      if ( (setwd3[LA(1)]&0x8) ) {
      }
      else {zzFAIL(1,zzerr12,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
    }
    zzEXIT(zztasp2);
    }
  }
  zzEXIT(zztasp1);
  return;
fail:
  zzEXIT(zztasp1);
  predicate_free(predExpr);
  zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
  zzresynch(setwd3, 0x10);
  }
}

Predicate *
#ifdef __USE_PROTOS
predOrExpr(void)
#else
predOrExpr()
#endif
{
  Predicate *   _retv;
  zzRULE;
  zzBLOCK(zztasp1);
  PCCTS_PURIFY(_retv,sizeof(Predicate *  ))
  zzMake0;
  {
  Predicate     *ORnode;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品在线视频| 久久精品夜色噜噜亚洲a∨| 极品少妇xxxx精品少妇| 亚洲欧美日韩人成在线播放| 欧美成人r级一区二区三区| 91丝袜国产在线播放| 国内外成人在线| 亚洲成人综合在线| 亚洲精品福利视频网站| 国产欧美一区二区三区鸳鸯浴| 欧美一区二区三区精品| 在线观看欧美精品| 91一区一区三区| 成人开心网精品视频| 国产一本一道久久香蕉| 免费黄网站欧美| 日日噜噜夜夜狠狠视频欧美人| 国产精品自产自拍| 五月激情六月综合| 亚洲精品乱码久久久久| 国产精品久久久久影院色老大| 欧美精品一区二区三| 欧美一二三在线| 7777精品伊人久久久大香线蕉的| 日本国产一区二区| 91看片淫黄大片一级在线观看| 国产精品自拍av| 国产精品一区二区三区乱码| 久久99日本精品| 日韩成人精品视频| 蜜桃一区二区三区四区| 免费成人av资源网| 七七婷婷婷婷精品国产| 轻轻草成人在线| 免费高清成人在线| 捆绑调教美女网站视频一区| 亚洲综合在线五月| 成人免费视频在线观看| 中文字幕一区二区5566日韩| 亚洲色图清纯唯美| www.色精品| 成人午夜电影久久影院| 国产成人亚洲精品青草天美| 成人毛片在线观看| 91一区二区在线| 色8久久精品久久久久久蜜| 91精品办公室少妇高潮对白| 欧美性一二三区| 欧美高清dvd| 欧美大片在线观看| 国产蜜臀av在线一区二区三区| 中文欧美字幕免费| 亚洲精品ww久久久久久p站 | 久久亚洲捆绑美女| 久久一区二区三区国产精品| 中文一区在线播放| 一区二区免费在线播放| 亚洲国产精品久久人人爱蜜臀| 五月婷婷色综合| 精品午夜一区二区三区在线观看| 国产精品一区二区三区99| 99视频在线观看一区三区| 欧美在线免费播放| 日韩精品中午字幕| 中文字幕一区视频| 成人av集中营| 亚洲日本免费电影| 亚洲午夜久久久久久久久久久 | 波多野结衣在线aⅴ中文字幕不卡| 成人av第一页| 欧美日韩精品一区二区天天拍小说| 欧美一区二区女人| 国产精品麻豆一区二区| 亚洲1区2区3区视频| 国产一区在线不卡| 在线观看www91| 久久综合久久久久88| 亚洲精品亚洲人成人网 | 精品一区二区三区视频在线观看| 国产夫妻精品视频| 欧美怡红院视频| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲欧洲日产国码二区| 免费在线观看一区| 91免费国产在线观看| 日韩女优电影在线观看| 亚洲色图一区二区| 中文字幕一区二区三区四区不卡| 亚洲人成精品久久久久| 男男gaygay亚洲| 色婷婷av一区二区三区之一色屋| 精品乱码亚洲一区二区不卡| 一区二区三区不卡在线观看| 国产精品一二三在| 5月丁香婷婷综合| 综合激情成人伊人| 国产乱人伦偷精品视频免下载| 欧美日韩一区二区三区四区| 中文字幕乱码一区二区免费| 久久精品免费观看| 在线看国产一区| 国产精品久久三区| 国产米奇在线777精品观看| 欧美精品 日韩| 亚洲午夜激情网页| 一本久道中文字幕精品亚洲嫩| 久久久亚洲精品石原莉奈| 免费人成精品欧美精品| 精品视频一区三区九区| 亚洲视频一区在线观看| 成人毛片视频在线观看| 久久色在线观看| 久久国产欧美日韩精品| 欧美精品1区2区| 午夜精品免费在线观看| 色播五月激情综合网| 综合欧美亚洲日本| 精品久久久久久亚洲综合网| caoporm超碰国产精品| 日韩亚洲欧美在线观看| 偷窥国产亚洲免费视频| 色噜噜狠狠色综合中国| 亚洲欧洲成人自拍| 成人免费视频一区二区| 久久伊99综合婷婷久久伊| 精品一区二区三区久久| 91精品国产免费久久综合| 亚洲v日本v欧美v久久精品| 色婷婷综合久久久久中文一区二区 | 亚洲免费在线播放| 成人黄色小视频在线观看| 日本一区二区高清| 成人丝袜高跟foot| 国产精品网站一区| 99精品久久久久久| 亚洲毛片av在线| 色一区在线观看| 亚洲福利一区二区| 制服丝袜av成人在线看| 日韩国产欧美在线观看| 欧美一级日韩免费不卡| 激情综合网av| 国产偷v国产偷v亚洲高清| 成人在线视频一区| 中文字幕亚洲在| 在线观看日韩电影| 日韩成人午夜精品| 欧美精品一区二区三区蜜桃| 国产成人亚洲精品狼色在线 | 国产亚洲美州欧州综合国| 国产91丝袜在线播放九色| 国产精品高潮呻吟久久| 欧美韩国一区二区| 日韩一区二区视频| 免费在线观看日韩欧美| 欧美变态凌虐bdsm| 国产一区二区三区黄视频 | 日韩国产精品久久久久久亚洲| 日韩一级片在线观看| 狠狠色综合播放一区二区| 国产偷v国产偷v亚洲高清| 91天堂素人约啪| 婷婷成人综合网| 国产亚洲人成网站| 日本乱码高清不卡字幕| 日韩成人免费看| 中文字幕av一区二区三区免费看 | 一区二区三区中文字幕电影 | 欧美在线免费视屏| 伦理电影国产精品| 成人免费视频一区| 亚洲最新在线观看| 欧美成人r级一区二区三区| 成人午夜精品一区二区三区| 一区二区高清在线| 精品乱人伦一区二区三区| 91网址在线看| 看电视剧不卡顿的网站| 亚洲天堂网中文字| 欧美大片在线观看一区二区| 99精品视频在线免费观看| 秋霞国产午夜精品免费视频| 国产精品久久久久精k8 | 亚洲天堂福利av| 日韩欧美亚洲另类制服综合在线| 成人av电影免费观看| 男女男精品网站| 亚洲品质自拍视频| 精品国产一区久久| 欧美性一区二区| 成人高清视频在线| 久久av中文字幕片| 亚洲一卡二卡三卡四卡 | 亚洲国产中文字幕| 国产精品美日韩| 亚洲精品在线观| 欧美日韩欧美一区二区| 不卡区在线中文字幕| 精品亚洲aⅴ乱码一区二区三区| 一区二区三区在线视频免费观看|