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

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

?? verbose.c

?? Berkeley的YACC詞法/語法分析器
?? C
字號:
#include "defs.h"static short *null_rules;verbose(){    register int i;    if (!vflag) return;    null_rules = (short *) MALLOC(nrules*sizeof(short));    if (null_rules == 0) no_space();    fprintf(verbose_file, "\f\n");    for (i = 0; i < nstates; i++)	print_state(i);    FREE(null_rules);    if (nunused)	log_unused();    if (SRtotal || RRtotal)	log_conflicts();    fprintf(verbose_file, "\n\n%d terminals, %d nonterminals\n", ntokens,	    nvars);    fprintf(verbose_file, "%d grammar rules, %d states\n", nrules - 2, nstates);}log_unused(){    register int i;    register short *p;    fprintf(verbose_file, "\n\nRules never reduced:\n");    for (i = 3; i < nrules; ++i)    {	if (!rules_used[i])	{	    fprintf(verbose_file, "\t%s :", symbol_name[rlhs[i]]);	    for (p = ritem + rrhs[i]; *p >= 0; ++p)		fprintf(verbose_file, " %s", symbol_name[*p]);	    fprintf(verbose_file, "  (%d)\n", i - 2);	}    }}log_conflicts(){    register int i;    fprintf(verbose_file, "\n\n");    for (i = 0; i < nstates; i++)    {	if (SRconflicts[i] || RRconflicts[i])	{	    fprintf(verbose_file, "State %d contains ", i);	    if (SRconflicts[i] == 1)		fprintf(verbose_file, "1 shift/reduce conflict");	    else if (SRconflicts[i] > 1)		fprintf(verbose_file, "%d shift/reduce conflicts",			SRconflicts[i]);	    if (SRconflicts[i] && RRconflicts[i])		fprintf(verbose_file, ", ");	    if (RRconflicts[i] == 1)		fprintf(verbose_file, "1 reduce/reduce conflict");	    else if (RRconflicts[i] > 1)		fprintf(verbose_file, "%d reduce/reduce conflicts",			RRconflicts[i]);	    fprintf(verbose_file, ".\n");	}    }}print_state(state)int state;{    if (state)	fprintf(verbose_file, "\n\n");    if (SRconflicts[state] || RRconflicts[state])	print_conflicts(state);    fprintf(verbose_file, "state %d\n", state);    print_core(state);    print_nulls(state);    print_actions(state);}print_conflicts(state)int state;{    register int symbol, act, number;    register action *p;    symbol = -1;    for (p = parser[state]; p; p = p->next)    {	if (p->suppressed == 2)	    continue;	if (p->symbol != symbol)	{	    symbol = p->symbol;	    number = p->number;	    if (p->action_code == SHIFT)		act = SHIFT;	    else		act = REDUCE;	}	else if (p->suppressed == 1)	{	    if (state == final_state && symbol == 0)	    {		fprintf(verbose_file, "%d: shift/reduce conflict \(accept, reduce %d) on $end\n", state, p->number - 2);	    }	    else	    {		if (act == SHIFT)		{		    fprintf(verbose_file, "%d: shift/reduce conflict \(shift %d, reduce %d) on %s\n", state, number, p->number - 2,			    symbol_name[symbol]);		}		else		{		    fprintf(verbose_file, "%d: reduce/reduce conflict \(reduce %d, reduce %d) on %s\n", state, number - 2, p->number - 2,			    symbol_name[symbol]);		}	    }	}    }}print_core(state)int state;{    register int i;    register int k;    register int rule;    register core *statep;    register short *sp;    register short *sp1;    statep = state_table[state];    k = statep->nitems;    for (i = 0; i < k; i++)    {	sp1 = sp = ritem + statep->items[i];	while (*sp >= 0) ++sp;	rule = -(*sp);	fprintf(verbose_file, "\t%s : ", symbol_name[rlhs[rule]]);        for (sp = ritem + rrhs[rule]; sp < sp1; sp++)	    fprintf(verbose_file, "%s ", symbol_name[*sp]);	putc('.', verbose_file);	while (*sp >= 0)	{	    fprintf(verbose_file, " %s", symbol_name[*sp]);	    sp++;	}	fprintf(verbose_file, "  (%d)\n", -2 - *sp);    }}print_nulls(state)int state;{    register action *p;    register int i, j, k, nnulls;    nnulls = 0;    for (p = parser[state]; p; p = p->next)    {	if (p->action_code == REDUCE &&		(p->suppressed == 0 || p->suppressed == 1))	{	    i = p->number;	    if (rrhs[i] + 1 == rrhs[i+1])	    {		for (j = 0; j < nnulls && i > null_rules[j]; ++j)		    continue;		if (j == nnulls)		{		    ++nnulls;		    null_rules[j] = i;		}		else if (i != null_rules[j])		{		    ++nnulls;		    for (k = nnulls - 1; k > j; --k)			null_rules[k] = null_rules[k-1];		    null_rules[j] = i;		}	    }	}    }    for (i = 0; i < nnulls; ++i)    {	j = null_rules[i];	fprintf(verbose_file, "\t%s : .  (%d)\n", symbol_name[rlhs[j]],		j - 2);    }    fprintf(verbose_file, "\n");}print_actions(stateno)int stateno;{    register action *p;    register shifts *sp;    register int as;    if (stateno == final_state)	fprintf(verbose_file, "\t$end  accept\n");    p = parser[stateno];    if (p)    {	print_shifts(p);	print_reductions(p, defred[stateno]);    }    sp = shift_table[stateno];    if (sp && sp->nshifts > 0)    {	as = accessing_symbol[sp->shift[sp->nshifts - 1]];	if (ISVAR(as))	    print_gotos(stateno);    }}print_shifts(p)register action *p;{    register int count;    register action *q;    count = 0;    for (q = p; q; q = q->next)    {	if (q->suppressed < 2 && q->action_code == SHIFT)	    ++count;    }    if (count > 0)    {	for (; p; p = p->next)	{	    if (p->action_code == SHIFT && p->suppressed == 0)		fprintf(verbose_file, "\t%s  shift %d\n",			    symbol_name[p->symbol], p->number);	}    }}print_reductions(p, defred)register action *p;register int defred;{    register int k, anyreds;    register action *q;    anyreds = 0;    for (q = p; q ; q = q->next)    {	if (q->action_code == REDUCE && q->suppressed < 2)	{	    anyreds = 1;	    break;	}    }    if (anyreds == 0)	fprintf(verbose_file, "\t.  error\n");    else    {	for (; p; p = p->next)	{	    if (p->action_code == REDUCE && p->number != defred)	    {		k = p->number - 2;		if (p->suppressed == 0)		    fprintf(verbose_file, "\t%s  reduce %d\n",			    symbol_name[p->symbol], k);	    }	}        if (defred > 0)	    fprintf(verbose_file, "\t.  reduce %d\n", defred - 2);    }}print_gotos(stateno)int stateno;{    register int i, k;    register int as;    register short *to_state;    register shifts *sp;    putc('\n', verbose_file);    sp = shift_table[stateno];    to_state = sp->shift;    for (i = 0; i < sp->nshifts; ++i)    {	k = to_state[i];	as = accessing_symbol[k];	if (ISVAR(as))	    fprintf(verbose_file, "\t%s  goto %d\n", symbol_name[as], k);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线国产福利| 国产精品视频第一区| 精品国产99国产精品| 中文字幕欧美一区| 麻豆成人免费电影| 在线免费观看日本欧美| 久久精品亚洲精品国产欧美| 天天影视网天天综合色在线播放| 国产麻豆精品在线| 欧美一区二区视频观看视频| 亚洲精品美腿丝袜| 盗摄精品av一区二区三区| 在线电影一区二区三区| 亚洲精品v日韩精品| 成人午夜免费电影| 久久日一线二线三线suv| 天堂av在线一区| 91麻豆精品国产91久久久使用方法| 国产日韩av一区二区| 日本欧美肥老太交大片| 欧美色成人综合| 一区二区三区鲁丝不卡| av电影一区二区| 国产精品乱码妇女bbbb| 久久99最新地址| 欧美一级爆毛片| 日韩精品亚洲一区| 欧美美女一区二区在线观看| 亚洲综合免费观看高清完整版在线| 成人性视频网站| 亚洲国产高清在线| 成人免费高清在线观看| 欧美韩国日本一区| 成人丝袜视频网| 国产精品久久久久久久第一福利| 国产成人免费在线视频| 久久久精品国产免费观看同学| 黄色成人免费在线| 久久久精品免费网站| 精品中文av资源站在线观看| 精品少妇一区二区三区| 经典一区二区三区| 国产欧美日韩综合| av中文字幕一区| 亚洲乱码国产乱码精品精的特点 | 欧美韩国日本综合| av成人免费在线观看| 综合欧美一区二区三区| 在线观看亚洲a| 日韩av在线免费观看不卡| 日韩午夜精品视频| 国产激情91久久精品导航 | 丁香另类激情小说| 亚洲人成网站在线| 欧美日韩一区二区三区高清| 麻豆精品久久久| 国产日韩欧美a| 色综合久久99| 日韩激情一二三区| 国产欧美视频一区二区| 91福利国产精品| 久久99精品国产91久久来源| 中文天堂在线一区| 欧美亚洲国产一区二区三区va| 青青草一区二区三区| 国产日产亚洲精品系列| 99国产欧美另类久久久精品| 五月激情综合网| 国产欧美日韩卡一| 欧美日韩另类国产亚洲欧美一级| 激情综合色综合久久| 国产精品电影一区二区三区| 欧美电影在哪看比较好| 国产69精品久久久久毛片| 亚洲国产欧美在线人成| 久久色成人在线| 精品视频色一区| 懂色av一区二区三区免费观看 | 国产亚洲人成网站| 欧美日韩二区三区| 国产成a人无v码亚洲福利| 午夜久久久久久| 国产精品麻豆欧美日韩ww| 7777精品伊人久久久大香线蕉完整版 | 99久久精品国产精品久久| 日韩av中文字幕一区二区| 中文字幕一区二区三区乱码在线| 欧美一级久久久久久久大片| 色综合天天综合在线视频| 久久 天天综合| 亚洲成a人片综合在线| 国产精品欧美极品| 欧美电视剧在线看免费| 欧美性大战久久久久久久| 国产成a人亚洲精品| 久久精品av麻豆的观看方式| 亚洲一区二区三区爽爽爽爽爽| 亚洲国产岛国毛片在线| 精品久久五月天| 欧美中文一区二区三区| 成人动漫中文字幕| 国模无码大尺度一区二区三区| 五月天激情小说综合| 亚洲精品视频在线观看网站| 国产精品毛片高清在线完整版| 26uuu国产在线精品一区二区| 91精品国产综合久久精品麻豆| 欧美在线免费视屏| 日本久久电影网| 色婷婷精品久久二区二区蜜臀av| 不卡的av中国片| av在线一区二区三区| 成人黄色在线看| www.欧美色图| av不卡一区二区三区| 91在线一区二区三区| 91欧美激情一区二区三区成人| www.日韩精品| 色菇凉天天综合网| 日本韩国视频一区二区| 色综合天天做天天爱| 色婷婷av一区二区三区gif| 91色porny在线视频| 色综合色狠狠综合色| 91麻豆福利精品推荐| 色噜噜狠狠一区二区三区果冻| 色8久久精品久久久久久蜜| 欧美在线不卡一区| 337p亚洲精品色噜噜| 日韩视频免费观看高清在线视频| 欧美电影免费观看完整版| 久久久久国产精品人| 国产精品久久久久一区二区三区 | 欧美成人免费网站| 久久精品亚洲乱码伦伦中文 | 99国产精品久久久久久久久久久| 91在线国内视频| 欧美福利一区二区| 日韩精品专区在线影院重磅| 国产亲近乱来精品视频| 中文字幕亚洲精品在线观看| 国产精品18久久久久久久久| 国模娜娜一区二区三区| a级精品国产片在线观看| 欧美在线啊v一区| 精品福利av导航| 国产精品青草久久| 午夜精彩视频在线观看不卡| 国内成人免费视频| 色爱区综合激月婷婷| 日韩精品一区二区三区四区 | 懂色av噜噜一区二区三区av| 色婷婷综合久久久中文一区二区| 日韩色视频在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲一区二区av电影| 狠狠色丁香久久婷婷综| 色女孩综合影院| 久久色中文字幕| 亚洲成人免费视频| 国产夫妻精品视频| 欧美日产在线观看| 国产精品色在线| 蜜桃精品视频在线观看| 成人视屏免费看| 欧美tk—视频vk| 亚洲成国产人片在线观看| 丁香激情综合国产| 日韩精品中午字幕| 一区二区三区欧美久久| 国产精品99久久久久久似苏梦涵 | 亚洲午夜激情网页| 国产98色在线|日韩| 欧美高清dvd| 亚洲精品视频在线观看网站| 国产成人免费在线观看| 欧美一区二区视频免费观看| 一区二区三区四区视频精品免费| 国产成人啪免费观看软件| 日韩欧美一区二区免费| 亚洲夂夂婷婷色拍ww47| 成人性生交大片免费看视频在线| 91精品国产丝袜白色高跟鞋| 亚洲午夜久久久久久久久电影网| 成人福利在线看| 国产校园另类小说区| 久久国产剧场电影| 日韩精品专区在线影院观看| 日韩成人免费电影| 欧美午夜不卡视频| 亚洲综合免费观看高清完整版在线| 不卡免费追剧大全电视剧网站| 国产丝袜在线精品| 国产一区二区网址| 精品人在线二区三区| 久久国产麻豆精品| 精品少妇一区二区三区日产乱码 | 一区二区三区不卡在线观看| 成人激情动漫在线观看| 国产精品久久毛片|