⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m62.c

📁 UNIX v6源代码 这几乎是最经典的unix版本 unix操作系统设计和莱昂氏unix源代码分析都是用的该版
💻 C
字号:
##include "m6.h"control() {	while(1) {		get();		if(c==0 && lg>0)  {			popget(); 			trash(); 			rescan = 1; 		}		else {			if(!rescan) put();			else if(lq>0) {				if(c==lquote) {					lq++; 					put(); 				}				else if(c==rquote || c==0)  {					lq--;					if(lq>0 || l9>0) put (rquote); 				}				else put(); 			}			else if(l9>0) 				if(c==colon||c==0||c==semi) 					if(--l9<=0) endcall();					else put();				else {					if(c==sharp) l9++;					else if(c==lquote) lq++;					put(); 				}			else {				if(c==sharp) begincall();				else if(c==lquote) lq++;				else if(lp>0) {					if(c==colon||c==0||c==semi) endcall();					else if(c==comma) newarg();					else put(); 				}				else if(c==0) return;	/* lg=lp=lq=0 */				else put(); 			} 		} 	} }endcall() {	char *pt, *p;	rescan = c!=semi;	newarg();	pushget();	pt = &pf->pa0;	ge = move(pt,&gf->ga0,pe-pt);	if(ge>gmax) diag("Call stack overflow");	if(traceflag) dotrace();	p = finddef(0);	setscan(p);	popput();	lp--;	function(p->dswitch); }begincall() {	lp++;	pushput();	pe = pf+pend;	pf->pan = pf->pa0 = 0;}newarg() {	char *p;	if(++pf->pan>=9) if(c==comma) l9++;	*pe++ = 0;	pe = (pe+1)&0177776;	p = &pf->pa0;	while(p->word!=0) p =+ p->word;	p->word = pe - p;	*pe++ = *pe++ = 0; }setscan(p) char *p;{	gf->mchar = (gf->mframe = p)->dtext;	gf->marg = 0; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -