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

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

?? tree.c

?? <B>Digital的Unix操作系統VAX 4.2源碼</B>
?? C
字號:
#ifndef lintstatic char sccsid[] = "@(#)tree.c	4.1	(Berkeley)	2/11/83";#endif not lint# include "y.tab.h"#include "b.h"#include <stdio.h>char *malloc();struct node *addroot(string,type,n1,n2)char *string;int type;struct node *n1, *n2;	{	struct node *p;	p = (struct node *)malloc(sizeof(*p));	p->left = n1;	p->right = n2;	p->op = type;	p->lit = malloc(slength(string) + 1);	str_copy(string,p->lit,slength(string) + 1);	return(p);	}freetree(tree)struct node *tree;	{	if (tree)		{freetree(tree->left);		freetree(tree->right);		freenode(tree);		}	}freenode(treenode)struct node *treenode;	{	free(treenode->lit);	free(treenode);	}int compop[] = { '&',	'|',	'<',	'>',	xxeq,	xxle,	xxne,	xxge};int notop[] = { '|',	'&',	xxge,	xxle,	xxne,	'>',	xxeq,	'<'};char *opstring[] =	{ "||",  "&&",	">=",	"<=", "!=",	">",	"==",	"<"};struct node *checkneg(tree,neg)		/* eliminate nots if possible */struct node *tree;int neg;	{	int i;	struct node *t;	if (!tree) return(0);	for (i =  0; i < 8; ++i)		if (tree->op == compop[i]) break;	if (i > 1 && i <  8 && tree ->left ->op == '-' && str_eq(tree->right->lit,"0"))		{		t = tree->right;		tree->right = tree->left->right;		freenode(t);		t = tree->left;		tree->left = tree->left->left;		freenode(t);		}	if (neg)		{		if (tree ->op == '!')			{			t = tree->left;			freenode(tree);			return(checkneg(t,0));			}			if (i < 8)				{				tree->op = notop[i];				free(tree->lit);				tree->lit = malloc(slength(opstring[i])+1);				str_copy(opstring[i],tree->lit, slength(opstring[i])+1);				if (tree->op == '&' || tree->op == '|')					{					tree->left = checkneg(tree->left,1);					tree->right = checkneg(tree->right,1);					}				return(tree);				}		if (tree->op == xxident && str_eq(tree->lit,".false."))			str_copy(".true.",tree->lit, slength(".true.")+1);		else if (tree->op == xxident && str_eq(tree->lit,".true."))			{			free(tree->lit);			tree->lit = malloc(slength(".false.")+1);			str_copy(".false.",tree->lit, slength(".false.")+1);			}		else			{			tree = addroot("!",'!',tree,0);			tree->lit = malloc(2);			str_copy("!",tree->lit, slength("!")+1);			}		return(tree);		}	else		if (tree->op == '!')			{			t = tree;			tree = tree->left;			freenode(t);			return(checkneg(tree,1));			}	else		{tree->left = checkneg(tree->left,0);		tree->right = checkneg(tree->right,0);		return(tree);		}	}yield(tree,fprec)struct node *tree;int fprec;				/* fprec is precedence of father of this node */	{	int paren,p;	static int oplast;			/* oplast = 1 iff last char printed was operator */	if (!tree) return;	p = prec(tree ->op);	paren = (p < fprec || (oplast && tree->op == xxuminus)) ? 1 : 0;	if (paren)		{		putout('(',"(");		oplast = 0;		}	switch(tree->op)		{		case xxuminus:			tree->op = '-';		case '!':			putout(tree->op,tree->lit);			oplast = 1;			yield(tree->left,p);			break;		case '&':		case '|':		case '<':		case '>':		case xxeq:		case xxle:		case xxge:		case '+':		case '-':		case '*':		case '/':		case '^':			yield(tree->left,p);			putout(tree->op, tree->lit);			oplast = 1;			yield(tree->right,p);			break;		case xxidpar:			yield(tree->left,0);			putout('(',"(");			oplast = 0;			yield(tree->right,0);			putout('(',")");			oplast = 0;			break;		default:			yield(tree->left,p);			putout(tree->op, tree->lit);			oplast = 0;			yield(tree->right,p);			break;		}	if (paren)		{		putout(')',")");		oplast = 0;		}	}puttree(tree)struct node *tree;	{	yield(tree,0);	freetree(tree);	}prec(oper)int oper;	{	switch(oper)		{		case ',':		return(0);		case '|':	return(1);		case '&':	return(2);		case '!':	return(3);		case '<':		case '>':		case xxeq:		case xxne:	case xxle:	case xxge:				return(4);		case '+':	case '-':		return(5);		case '*':	case '/':		return(6);		case xxuminus:	return(7);		case '^':	return(8);		default:	return(9);		}	}str_copy(s,ptr,length)	/* copy s at ptr, return length of s */char *s, *ptr;int length;	{int i;	for (i = 0; i < length; i++)		{		ptr[i] = s[i];		if (ptr[i] == '\0')			return(i + 1);		}	fprintf(2,"string %s too long to be copied by str_copy at address %d\n",			*s,ptr);	exit(1);	}str_eq(s,t)char s[],t[];	{int j;	for (j = 0; s[j] == t[j]; j++)		{if (s[j] == '\0') return(1);}	return(0);	}slength(s)			/* return number of chars in s, not counting '\0' */char *s;	{	int i;	if (!s) return(-1);	for (i = 0; s[i] != '\0'; i++);	return(i);	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本二三区不卡| 欧美视频在线观看一区二区| 亚洲va欧美va国产va天堂影院| 国产欧美日韩麻豆91| 国产欧美日韩麻豆91| 精品国产亚洲一区二区三区在线观看| 欧美日韩国产在线观看| 欧美精选一区二区| 欧美日本韩国一区| 欧美大片在线观看一区二区| 日韩一级大片在线| 欧美mv日韩mv| 国产亚洲一二三区| 日本一区二区成人在线| 中文字幕av一区二区三区免费看| 国产日产亚洲精品系列| 国产精品美女久久久久久久久| 国产精品欧美一区二区三区| 久久久久久久久免费| 国产精品日产欧美久久久久| 亚洲欧洲99久久| 亚洲国产成人高清精品| 日韩av不卡在线观看| 免费高清视频精品| 成人午夜伦理影院| 9人人澡人人爽人人精品| 色婷婷精品大在线视频| 欧美丝袜丝交足nylons| 日韩精品一区在线| 亚洲国产成人自拍| 亚洲午夜久久久久久久久电影网| 日本不卡视频在线| 国产精品99久| 欧美体内she精高潮| 久久丝袜美腿综合| 亚洲午夜久久久久久久久久久| 久久精品国产秦先生| 99久久er热在这里只有精品15 | 热久久久久久久| 久国产精品韩国三级视频| 成人性生交大合| 欧美精品xxxxbbbb| 中文字幕一区二区在线观看| 免费在线视频一区| 91无套直看片红桃| 欧美精品一区视频| 香蕉乱码成人久久天堂爱免费| 国内精品视频666| 日本道色综合久久| 国产欧美精品一区二区色综合朱莉| 亚洲婷婷国产精品电影人久久| 日韩av二区在线播放| 色先锋aa成人| 中文字幕va一区二区三区| 麻豆精品一二三| 91丨九色丨尤物| 欧美激情资源网| 国产精品一区二区不卡| 欧美日本精品一区二区三区| 17c精品麻豆一区二区免费| 国产剧情一区在线| 日韩精品一区二区三区视频| 亚洲一区二区综合| 粉嫩嫩av羞羞动漫久久久| 欧美精品一区二区久久久| 青青草91视频| 欧美日韩精品免费| 亚洲高清中文字幕| 99久久99精品久久久久久| 久久精子c满五个校花| 麻豆高清免费国产一区| 欧美一区三区二区| 五月开心婷婷久久| 精品久久一二三区| 免费在线欧美视频| 91精品国产麻豆国产自产在线| 亚洲男人电影天堂| 成人黄色综合网站| 国产性色一区二区| 成人综合婷婷国产精品久久| 国产欧美综合在线| 国产盗摄女厕一区二区三区| 久久精品一区二区三区不卡| 国产一区二区三区在线看麻豆| 日韩欧美一区中文| 久久9热精品视频| xfplay精品久久| 成人午夜精品一区二区三区| 中文字幕免费在线观看视频一区| 成人久久久精品乱码一区二区三区| 久久久99精品免费观看| 国内不卡的二区三区中文字幕| 久久久美女毛片| 国产高清成人在线| √…a在线天堂一区| 日本高清视频一区二区| 午夜视黄欧洲亚洲| 精品国产伦一区二区三区观看方式| 奇米精品一区二区三区在线观看| 精品国产3级a| 99久久99久久精品国产片果冻| 亚洲精品你懂的| 欧美丰满少妇xxxxx高潮对白| 成人黄色免费短视频| 亚洲综合免费观看高清完整版 | 精品精品欲导航| 国产 欧美在线| 亚洲国产精品久久不卡毛片| 久久欧美一区二区| 在线精品观看国产| 国产制服丝袜一区| 亚洲欧美日韩一区| 精品免费99久久| av色综合久久天堂av综合| 性感美女极品91精品| 欧美国产欧美亚州国产日韩mv天天看完整| jvid福利写真一区二区三区| 日韩激情一二三区| 国产精品久久毛片| 欧美变态凌虐bdsm| 欧美性大战久久久久久久| 国产一区91精品张津瑜| 亚洲r级在线视频| 中文字幕日韩一区二区| 欧美一级黄色大片| 欧美在线一区二区| 不卡的电视剧免费网站有什么| 日韩在线a电影| 亚洲精品国产精华液| 久久蜜桃av一区二区天堂| 欧美伦理电影网| 99视频超级精品| 国产成人欧美日韩在线电影| 免费在线观看不卡| 亚洲成av人片观看| 亚洲另类在线一区| 国产精品毛片久久久久久久| 日韩欧美精品在线| 欧美日产国产精品| 欧美三级韩国三级日本一级| 色综合天天狠狠| 99久久精品免费看| 波多野结衣亚洲| 国产jizzjizz一区二区| 国产综合久久久久久久久久久久| 亚洲一级不卡视频| 一区二区三区精品视频| 国产精品美女一区二区| 国产精品无人区| 国产农村妇女毛片精品久久麻豆| 久久久久久久久久看片| 久久嫩草精品久久久久| 精品捆绑美女sm三区| 精品乱人伦小说| 精品日韩在线一区| 在线播放中文一区| 欧美一级日韩一级| 精品国精品国产| 久久精品一区二区三区不卡牛牛| 日韩精品一区二区三区在线观看| 91精品国产入口在线| 日韩三级高清在线| 久久综合国产精品| 国产日产欧美一区二区视频| 国产精品水嫩水嫩| 一区二区三区在线免费视频| 亚洲国产一区二区视频| 三级久久三级久久久| 久久草av在线| 国产成人亚洲精品狼色在线| 成人小视频在线| 在线视频你懂得一区| 欧美福利视频一区| 精品国产伦一区二区三区免费 | 亚洲人成亚洲人成在线观看图片 | 国产成人av电影免费在线观看| 国产精品456露脸| 91麻豆国产香蕉久久精品| 欧美日韩精品一区视频| 久久综合九色欧美综合狠狠| 中文字幕制服丝袜成人av| 亚洲一区二区中文在线| 国产真实乱子伦精品视频| 9l国产精品久久久久麻豆| 91精品国产麻豆国产自产在线| 国产视频在线观看一区二区三区| 伊人一区二区三区| 久久激情五月激情| 99久久99精品久久久久久| 日韩一级完整毛片| 中文字幕亚洲一区二区av在线| 亚洲第一成人在线| 成人综合在线网站| 日韩一二三区不卡| 亚洲最新视频在线观看| 九色综合狠狠综合久久| 99精品偷自拍| 久久夜色精品国产噜噜av| 亚洲综合色区另类av| 欧美日韩一区二区三区四区五区 |