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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? antlr.g

?? SRI international 發布的OAA框架軟件
?? G
?? 第 1 頁 / 共 5 頁
字號:
                ANDnode=new_pred();
                ANDnode->expr=PRED_AND_LIST;
                if (predExpr != NULL) {
                    ANDnode->down=predExpr;
                    tail=&predExpr->right;
                };
            >>
        ( "&&"  predPrimary>[predExpr]
            <<
                if (predExpr != NULL) {
                    *tail=predExpr;
                    tail=&predExpr->right;
                };
            >>
        )*
        <<
            $result=ANDnode;
            ANDnode=NULL;
        >>
;

/* fail */

<<predicate_free(ANDnode);>>


/* rule predPrimary */

predPrimary>[Predicate *result] :
            <<
              char          *name=NULL;
              PredEntry     *predEntry=NULL;
              Predicate     *predExpr=NULL;
            >>

        TokenTerm            <<name=mystrdup(LATEXT(1));>>

            <<
                predEntry=(PredEntry *) hash_get(Pname,name);
                if (predEntry == NULL) {
                  warnFL(eMsg1("no previously defined #pred with name \"%s\"",name),
                        FileStr[CurFile],zzline);
                  name=NULL;
                  $result=NULL;
                } else {
                  predExpr=predicate_dup(predEntry->pred);
                  predExpr->predEntry=predEntry;
                  $result=predExpr;
                };
            >>

        | "\(" predOrExpr>[predExpr] "\)"
            <<
                $result=predExpr;
            >>

        | "!" predPrimary>[predExpr]
            <<
                predExpr->inverted=!predExpr->inverted;
                $result=predExpr;
            >>
;

/* fail */  <<
              predicate_free(predExpr);
            >>

/* rule aLexclass */

aLexclass:	"{\\}#lexclass" TokenTerm <<lexclass(mystrdup(LATEXT(1)));>>
		;
		<<CannotContinue=TRUE;>>

/* rule error */

error	:	<<char *t=NULL; ECnode *e; int go=1; TermEntry *p;>>
			"{\\}#errclass"
			(<<;>>	TokenTerm  <<t=mystrdup(LATEXT(1));>>
			|		QuotedTerm <<t=mystrdup(LATEXT(1));>>
			)
			<<e = newECnode;
			  require(e!=NULL, "cannot allocate error class node");
			  e->lexclass = CurrentLexClass;
			  if ( Tnum( (t=StripQuotes(t)) ) == 0 )
			  {
				if ( hash_get(Texpr, t) != NULL )
					warn(eMsg1("errclass name conflicts with regular expression  '%s'",t));
			  	e->tok = addTname( t );
				set_orel(e->tok, &imag_tokens);
				require((p=(TermEntry *)hash_get(Tname, t)) != NULL,
						"hash table mechanism is broken");
				p->classname = 1;	/* entry is errclass name, not token */
				list_add(&eclasses, (char *)e);
			  }
			  else
			  {
			  	warn(eMsg1("redefinition of errclass or conflict w/token or tokclass '%s'; ignored",t));
				free( (char *)e );
				go=0;
			  }
			>>
			"\{"
				( NonTerminal <<if ( go ) t=mystrdup(LATEXT(1));>>
				| TokenTerm <<if ( go ) t=mystrdup(LATEXT(1));>>
				| QuotedTerm <<if ( go ) t=mystrdup(LATEXT(1));>>
				)
				<<if ( go ) list_add(&(e->elist), t);>>
				(
					( NonTerminal <<if ( go ) t=mystrdup(LATEXT(1));>>
					| TokenTerm <<if ( go ) t=mystrdup(LATEXT(1));>>
					| QuotedTerm <<if ( go ) t=mystrdup(LATEXT(1));>>
					)
					<<if ( go ) list_add(&(e->elist), t);>>
				)*
			"\}"
		;
		<<CannotContinue=TRUE;>>

/* rule tclass */

tclass	:	<<char *t=NULL; TCnode *e; int go=1,tok,totok; TermEntry *p, *term, *toterm;>>
            <<char *akaString=NULL; int save_file; int save_line;>>
            <<char *totext=NULL; >>
			"{\\}#tokclass" TokenTerm <<t=mystrdup(LATEXT(1));>>
			<<e = newTCnode;
			  require(e!=NULL, "cannot allocate token class node");
			  e->lexclass = CurrentLexClass;
			  if ( Tnum( t ) == 0 )
			  {
			  	e->tok = addTname( t );
				set_orel(e->tok, &imag_tokens);
				set_orel(e->tok, &tokclasses);
				require((p=(TermEntry *)hash_get(Tname, t)) != NULL,
						"hash table mechanism is broken");
				p->classname = 1;	/* entry is class name, not token */
				p->tclass = e;		/* save ptr to this tclass def */
				list_add(&tclasses, (char *)e);
			  }
			  else
			  {
			  	warn(eMsg1("redefinition of tokclass or conflict w/token '%s'; ignored",t));
				free( (char *)e );
				go=0;
			  }
			>>
/* MR23 */      {
/* MR23 */          "\("
/* MR23 */          QuotedTerm
/* MR23 */                 <<akaString=mystrdup(StripQuotes(LATEXT(1)));
/* MR11 */                   save_file=CurFile;save_line=zzline;
/* MR23 */                 >>
/* MR23 */          "\)"
/* MR23 */      }
/* MR23 */
/* MR23 */
/* MR23 */		<<
/* MR23 */         if (p!= NULL && akaString != NULL) {
/* MR23 */           if (p->akaString != NULL) {
/* MR23 */             if (strcmp(p->akaString,akaString) != 0) {
/* MR23 */                warnFL(eMsg2("this #tokclass statment conflicts with a previous #tokclass %s(\"%s\") statement",
/* MR23 */                              t,p->akaString),
/* MR23 */			                    FileStr[save_file],save_line);
/* MR23 */             };
/* MR23 */            } else {
/* MR23 */              p->akaString=akaString;
/* MR23 */            };
/* MR23 */          };
/* MR23 */		>>

			"\{"
				(
    				( TokenTerm
    				  <<if ( go ) {
    					term = (TermEntry *) hash_get(Tname, LATEXT(1));
    					if ( term==NULL && UserDefdTokens ) {
    						err("implicit token definition not allowed with #tokdefs");
    						go = 0;
    					}
    					else {t=mystrdup(LATEXT(1)); tok=addTname(LATEXT(1));}
    					}>>

                        {
                            ".."
                            TokenTerm

            				  <<if ( go ) {
                					toterm = (TermEntry *) hash_get(Tname, LATEXT(1));
                					if ( toterm==NULL && UserDefdTokens ) {
                						err("implicit token definition not allowed with #tokdefs");
                						go = 0;
                					} else {
                                        totext=mystrdup(LATEXT(1)); totok=addTname(LATEXT(1));
                                    }
            				    }
                              >>
                        }

    				| QuotedTerm
    				  <<if ( go ) {
    					term = (TermEntry *) hash_get(Texpr, LATEXT(1));
    					if ( term==NULL && UserDefdTokens ) {
    						err("implicit token definition not allowed with #tokdefs");
    						go = 0;
        					}
    					else {t=mystrdup(LATEXT(1)); tok=addTexpr(LATEXT(1));}
    					}>>
    				)
    				<<if ( go ) {
                        if (totext == NULL) {
                            list_add(&(e->tlist), t);
                        } else {
                            list_add(&(e->tlist),"..");
                            list_add(&(e->tlist),t);
                            list_add(&(e->tlist),totext);
                        }
                        totext=NULL;
                      }
                    >>
				)+  // MR15 Manfred Kogler - forbid empty #tokclass sets (was "+")
			"\}"
		;
		<<CannotContinue=TRUE;>>

/* rule token */

token	:	<<char *t=NULL, *e=NULL, *a=NULL; int tnum=0;>>
            <<char *akaString=NULL; TermEntry *te;int save_file=0,save_line=0;>>           /* MR11 */
			"{\\}#token"

/* MR1 10-Apr-97 MR1 Allow shift right operator in DLG actions		   */
/* MR1			Danger when parser feedback to lexer		           */
/* MR1	                                                               */

			<<tokenActionActive=1;>>		                    /* MR1 */
			{	TokenTerm  <<t=mystrdup(LATEXT(1));>>

/* MR11 */      {
/* MR11 */          "\("
/* MR11 */          QuotedTerm
/* MR11 */                 <<akaString=mystrdup(StripQuotes(LATEXT(1)));
/* MR11 */                   save_file=CurFile;save_line=zzline;
/* MR11 */                 >>
/* MR11 */          "\)"
/* MR11 */      }

				{	"=" "[0-9]+"		/* define the token type number */
					<<tnum = atoi(LATEXT(1));>>
				}
			}
			{ QuotedTerm <<e=mystrdup(LATEXT(1));>> }
			{	Action
				<<
					a = (char *) calloc(strlen(LATEXT(1))+1, sizeof(char));
					require(a!=NULL, "rule token: cannot allocate action");
					strcpy(a, LATEXT(1));
				>>
			}

            { ";" }     /* MR11 */

			<<chkToken(t, e, a, tnum);>>

            <<if (t != NULL) {
                te=(TermEntry *)hash_get(Tname,t);
                if (te != NULL && akaString != NULL) {
                  if (te->akaString != NULL) {
                    if (strcmp(te->akaString,akaString) != 0) {
                      warnFL(eMsg2("this #token statment conflicts with a previous #token %s(\"%s\") statement",
                                    t,te->akaString),
                        FileStr[save_file],save_line);
                    };
                  } else {
                    te->akaString=akaString;
                  };
                };
              };
            >>
		;
		<<CannotContinue=TRUE;>>

/* rule block */

block[set *toksrefd, set *rulesrefd]
		:	<<
    			Graph g, b;
    			set saveblah;
    			int saveinalt = inAlt;
    			ExceptionGroup *eg;
    			*$toksrefd = empty;
    			*$rulesrefd = empty;
    			set_clr(AST_nodes_refd_in_actions);
    			CurBlockID++;
/* MR23 */      CurBlockID_array[BlkLevel] = CurBlockID;
    			CurAltNum = 1;
/* MR23 */      CurAltNum_array[BlkLevel] = CurAltNum;                
    			saveblah = attribsRefdFromAction;
    			attribsRefdFromAction = empty;
			>>

			alt[toksrefd,rulesrefd]		<<b = g = $1;>>

			<<
			if ( ((Junction *)g.left)->p1->ntype == nAction )
			{
                ActionNode *actionNode=(ActionNode *)
                                         ( ( (Junction *)g.left) ->p1);
				if (!actionNode->is_predicate )
				{
					actionNode->init_action = TRUE;
/* MR12c */  		if (actionNode->noHoist) {
/* MR12c */           errFL("<<nohoist>> appears as init-action - use <<>> <<nohoist>>",
/* MR12c */                       FileStr[actionNode->file],actionNode->line);
/* MR12c */         };
				}
			}
			((Junction *)g.left)->blockid = CurBlockID;
			>>

			(	exception_group > [eg]
				<<
				if ( eg!=NULL ) {
/* MR7 *****       	eg->altID = makeAltID(CurBlockID,CurAltNum);        *****/
/* MR7 *****		CurAltStart->exception_label = eg->altID;           *****/
					list_add(&CurExGroups, (void *)eg);
				}
				>>
			)*
			<<CurAltNum++;
/* MR23 */    CurAltNum_array[BlkLevel] = CurAltNum;
            >>

			(	"\|" <<inAlt=1;>>
				alt[toksrefd,rulesrefd]		<<g = Or(g, $2);>>
				<<
				((Junction *)g.left)->blockid = CurBlockID;
				>>

				(	exception_group > [eg]
					<<
					if ( eg!=NULL ) {
/* MR7 *****       	eg->altID = makeAltID(CurBlockID,CurAltNum);        *****/
/* MR7 *****		CurAltStart->exception_label = eg->altID;           *****/
						list_add(&CurExGroups, (void *)eg);
					}
					>>
				)*

				<<CurAltNum++;
/* MR23 */        CurAltNum_array[BlkLevel] = CurAltNum;                
                >>

			)*
			<<$0 = b;>>
			<<attribsRefdFromAction = saveblah; inAlt = saveinalt;>>
		;
		<<CannotContinue=TRUE;>>

/* rule alt */

alt[set *toksrefd, set *rulesrefd]
		:	<<int n=0; Graph g; int e_num=0, old_not=0; Node *node; set elems, dif;
			int first_on_line = 1, use_def_MT_handler = 0;
			g.left=NULL; g.right=NULL;

			CurAltStart = NULL;
			elems = empty;
			inAlt = 1;
			>>
			{	"\@"	/* handle MismatchedToken signals with default handler */
				<<use_def_MT_handler = 1;>>
			}

			(	<<;>>       /* MR9 Removed unreferenced variable "tok" */
				{ <<old_not=0;>> "\~" <<old_not=1;>> }
				element[old_not, first_on_line, use_def_MT_handler] > [node]
				<<if ( node!=NULL && node->ntype!=nAction ) first_on_line = 0;>>
				<<
				if ( $2.left!=NULL ) {
					g = Cat(g, $2);
					n++;
					if ( node!=NULL ) {
						if ( node->ntype!=nAction ) e_num++;
						/* record record number of all rule and token refs */
						if ( node->ntype==nToken ) {
							TokNode *tk = (TokNode *)((Junction *)$2.left)->p1;
							tk->elnum = e_num;
							set_orel(e_num, &elems);
						}
						else if ( node->ntype==nRuleRef ) {
							RuleRefNode *rn = (RuleRefNode *)((Junction *)$2.left)->p1;
							rn->elnum = e_num;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区乱视频| 99视频精品免费视频| 五月婷婷综合激情| 亚洲一卡二卡三卡四卡五卡| 亚洲欧美日韩中文播放| 日韩美女视频一区二区| 亚洲人成小说网站色在线| 中文字幕一区二区不卡| 亚洲视频中文字幕| 亚洲欧美一区二区三区孕妇| 亚洲女同一区二区| 色综合久久综合中文综合网| 99免费精品在线观看| 91啪九色porn原创视频在线观看| 99久久免费国产| 欧美性大战久久| 8x8x8国产精品| 欧美成人精品二区三区99精品| 日韩欧美视频在线| 国产拍欧美日韩视频二区| 国产精品素人一区二区| 亚洲精品日日夜夜| 天堂午夜影视日韩欧美一区二区| 日韩高清在线电影| 国内精品嫩模私拍在线| 丁香天五香天堂综合| 91免费观看视频| 欧美性猛交xxxx乱大交退制版| 这里是久久伊人| 久久九九久久九九| 亚洲情趣在线观看| 日韩电影在线一区二区三区| 国产在线视频一区二区| 91免费版在线看| 91精品国产手机| 亚洲国产精品高清| 亚洲国产精品一区二区www在线| 美国十次了思思久久精品导航| 国产91丝袜在线18| 在线观看日韩高清av| 91精品国产综合久久香蕉麻豆 | 欧美色图免费看| 日韩欧美一级片| 国产精品卡一卡二卡三| 亚洲成av人综合在线观看| 精品一区二区三区免费| yourporn久久国产精品| 在线电影一区二区三区| 欧美国产日产图区| 肉肉av福利一精品导航| 国产成a人亚洲| 欧美精品一卡二卡| 国产精品三级电影| 日本成人在线不卡视频| 99久久久免费精品国产一区二区| 欧美一级在线免费| 亚洲欧美日韩电影| 国产一区二区不卡| 欧美日韩久久久| 一区视频在线播放| 精品在线免费观看| 色婷婷综合五月| 久久久国产精华| 欧美无乱码久久久免费午夜一区 | 亚洲午夜免费福利视频| 国产精品一二二区| 欧美精品aⅴ在线视频| 国产精品国产三级国产专播品爱网 | 国产精品超碰97尤物18| 奇米888四色在线精品| 色婷婷亚洲综合| 国产三级精品视频| 久久精品国产秦先生| 欧美网站一区二区| 最新国产成人在线观看| 精品综合免费视频观看| 欧美喷潮久久久xxxxx| 亚洲免费在线看| 懂色中文一区二区在线播放| 欧美α欧美αv大片| 亚洲午夜影视影院在线观看| 成人aa视频在线观看| 久久综合久久鬼色中文字| 日日夜夜精品视频天天综合网| 91影院在线免费观看| 欧美国产丝袜视频| 国产盗摄女厕一区二区三区| 日韩美女视频一区二区在线观看| 午夜精品久久久久久久久久久| 91色综合久久久久婷婷| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 在线精品视频一区二区| 中文字幕一区二区三中文字幕| 国产精品自拍av| 欧美mv日韩mv国产网站| 美国av一区二区| 欧美一区二区三区在线电影 | 成人性色生活片| 国产亚洲va综合人人澡精品| 韩国三级电影一区二区| 欧美videos中文字幕| 蜜桃久久久久久| 欧美成人三级在线| 久久er99热精品一区二区| 欧美大胆一级视频| 国产一区亚洲一区| 国产调教视频一区| 大尺度一区二区| 18成人在线观看| 色婷婷精品久久二区二区蜜臂av | 亚洲成av人**亚洲成av**| 在线观看精品一区| 亚洲va韩国va欧美va| 欧美日韩免费观看一区三区| 亚洲国产视频直播| 欧美男人的天堂一二区| 日本怡春院一区二区| 欧美成人女星排名| 国产成人av一区二区三区在线观看| 久久久99久久| 成人av先锋影音| 一区二区久久久久| 91精品福利在线一区二区三区 | 日韩欧美中文一区| 国产一区二区三区观看| 中文字幕av不卡| 色婷婷狠狠综合| 日韩国产高清在线| 精品sm在线观看| 成人午夜视频在线观看| 亚洲另类中文字| 欧美精品一卡两卡| 国产乱色国产精品免费视频| 国产精品视频麻豆| 在线观看国产日韩| 久久国产人妖系列| 国产精品国产三级国产普通话蜜臀| 日本精品视频一区二区| 天涯成人国产亚洲精品一区av| 欧美成人性福生活免费看| 成人激情免费网站| 亚洲二区视频在线| 精品国产伦一区二区三区免费| 国产成人免费视频一区| 亚洲综合色网站| 精品盗摄一区二区三区| 97精品超碰一区二区三区| 婷婷丁香久久五月婷婷| 国产亚洲婷婷免费| 欧美色中文字幕| 国产福利精品导航| 色婷婷一区二区| 免费人成在线不卡| 国产精品传媒入口麻豆| 91精品国产综合久久精品| 国产99一区视频免费| 亚洲综合精品自拍| 久久在线观看免费| 欧美三区在线视频| 国产馆精品极品| 日本最新不卡在线| 亚洲免费观看高清| 国产视频亚洲色图| 91精品国产91久久久久久一区二区| 成人黄页在线观看| 欧美a级理论片| 亚洲欧美区自拍先锋| 精品av综合导航| 欧美日韩aaa| 一本到不卡免费一区二区| 国产综合色视频| 偷拍亚洲欧洲综合| 国产精品久久久久影院亚瑟| 日韩美女视频在线| 欧美精品日韩精品| 91丨九色丨尤物| 国产98色在线|日韩| 麻豆精品精品国产自在97香蕉| 夜夜嗨av一区二区三区四季av| 久久久不卡网国产精品二区| 欧美日韩精品高清| 色婷婷久久综合| 国产亚洲一区二区三区| 日韩欧美成人激情| 欧美日韩国产经典色站一区二区三区| 成人国产在线观看| 国产精品一区二区视频| 久久成人综合网| 日本伊人午夜精品| 三级在线观看一区二区| 一区二区三区资源| 国产精品区一区二区三区| 26uuuu精品一区二区| 日韩区在线观看| 欧美一级一区二区| 欧美精品国产精品| 8x福利精品第一导航| 欧美精品vⅰdeose4hd| 欧美日韩一本到| 欧美在线免费播放|