📄 复件 compile.java.bak
字号:
} while(bool);
}
void first2() {
int k;
for (k=0;k<20;k++)
head[k][0]=0;
for (i=0;i<exn;i++)
for (j=2;j<=express[i][0];j++)
{
addin4(i,express[i][j]);
if ((express[i][j]<0)||(!hollow[express[i][j]]))
j=20;
}
}
void addin4(int x,int y) {
int k;
if (y<0)
{
if (!inside2(y,head[x],head[x][0]))
{
head[x][0]+=1;
head[x][head[x][0]]=y;
}
}
else
{
for (k=1;k<=first[y][0];k++)
if (!inside2(first[y][k],head[x],head[x][0]))
{
head[x][0]+=1;
head[x][head[x][0]]=first[y][k];
}
}
}
boolean addin(int x,int y) {
int k;
boolean bool=false;
for (k=1;k<=first[y][0];k++)
if (!(inside2(first[y][k],first[x],first[x][0])))
{
bool=true;
first[x][0]+=1;
first[x][first[x][0]]=first[y][k];
}
return(bool);
}
void follow() {
int k;
int circle=0;
boolean bool;
for (i=0;i<20;i++)
follow[i][0]=0;
follow[0][0]=1;
follow[0][1]=-100;
//for (i=0;i<ucn;i++)
// System.out.println(hollow[i]);
do
{
circle++;
if (circle>2000)
{
showerror();
break;
}
bool=false;
for (i=0;i<exn;i++)
for (j=3;j<=express[i][0];j++)
if (express[i][j-1]>=0)
for (k=j;k<=express[i][0];k++)
{
bool=bool||addin2(express[i][k-1],express[i][k]);
if ((express[i][k]<0)||(!hollow[express[i][k]]))
k=20;
}
for (i=0;i<exn;i++)
{
if (express[i][express[i][0]]>=0)
{
bool=bool||addin3(express[i][express[i][0]],express[i][1]);
for (j=express[i][0]-1;j>=2;j--)
if ((express[i][j+1]>=0)&&(hollow[express[i][j+1]]))
{
bool=bool||addin3(express[i][j],express[i][1]);
System.out.println(i);
}
else
j=1;
}
}
} while (bool);
}
boolean addin2(int x,int y) {
int k;
boolean bool=false;
if (y>=0)
{
for (k=1;k<=first[y][0];k++)
if (!(inside2(first[y][k],follow[x],follow[x][0]))&&(ec[-1-first[y][k]]!='e'))
{
bool=true;
follow[x][0]+=1;
follow[x][follow[x][0]]=first[y][k];
}
}
else
if (!(inside2(y,follow[x],follow[x][0])))
{
bool=true;
follow[x][0]+=1;
follow[x][follow[x][0]]=y;
}
return(false);
}
boolean addin3(int x,int y) {
int k;
boolean bool=false;
for (k=1;k<=follow[y][0];k++)
if (!(inside2(follow[y][k],follow[x],follow[x][0])))
{
bool=true;
follow[x][0]+=1;
follow[x][follow[x][0]]=follow[y][k];
}
return(bool);
}
void buildtable() {
int k;
boolean[] emp=new boolean[20];
boolean bool;
for (i=0;i<ucn;i++)
for (j=0;j<=ecn;j++)
table[i][j]=-1;
for (i=0;i<exn;i++)
{
bool=true;
for (j=2;j<=express[i][0];j++)
if (((express[i][j]<0)&&(ec[-1-express[i][j]]!='e'))||
((express[i][j]>=0)&&!(hollow[express[i][j]])))
bool=false;
emp[i]=bool;
}
for (i=0;i<exn;i++)
{
for (j=1;j<=head[i][0];j++)
if (table[express[i][1]][-1-head[i][j]]==-1)
table[express[i][1]][-1-head[i][j]]=i;
else
{
table[express[i][1]][-1-head[i][j]]=-5000;
System.out.println(express[i][1]);
System.out.println(-1-head[i][j]);
System.out.println("冲突");
if (ec[-1-head[i][j]]!='e')
star=5;
}
//if (inside2(-1-atwhere('e',ec,ecn),head[i],head[i][0]))
if (emp[i])
for (j=1;j<=follow[express[i][1]][0];j++)
if (follow[express[i][1]][j]==-100)
table[express[i][1]][ecn]=i;
else
if(table[express[i][1]][-1-follow[express[i][1]][j]]==-1)
table[express[i][1]][-1-follow[express[i][1]][j]]=i;
else
{
table[express[i][1]][-1-follow[express[i][1]][j]]=-5000;
System.out.println(express[i][1]);
System.out.println(-1-follow[express[i][1]][j]);
System.out.println("又冲突");
if (ec[-1-follow[express[i][1]][j]]!='e')
star=5;
}
}
for (i=0;i<ucn;i++)
{
for (j=0;j<=ecn;j++)
{
System.out.print(table[i][j]);
System.out.print(" ");
}
System.out.println();
}
}
}
class window1 extends Canvas{
public int m=0;
public void paint(Graphics g) {
g.setColor(Color.black);
g.drawLine(0,0,100,0);
g.drawLine(0,0,0,300);
g.drawLine(0,1,100,1);
g.drawLine(1,0,1,300);
g.setColor(Color.white);
g.drawLine(100,0,100,300);
g.drawLine(0,300,100,300);
g.setColor(Color.lightGray);
g.drawLine(99,0,99,300);
g.drawLine(0,299,100,299);
g.setFont(compile.f);
g.setColor(Color.blue);
g.drawString("D=TL",5,20);
g.drawString("T=int",5,40);
g.drawString("T=real",5,60);
g.drawString("L=L1,id",5,80);
g.drawString("L=id",5,100);
}
public void using(int n) {
Graphics g=this.getGraphics();
g.setColor(Color.blue);
g.setFont(compile.f);
switch(m) {
case 1:
g.drawString("D=TL",5,20);
break;
case 2:
g.drawString("T=int",5,40);
break;
case 3:
g.drawString("T=real",5,60);
break;
case 4:
g.drawString("L=L1,id",5,80);
break;
case 5:
g.drawString("L=id",5,100);
}
g.setColor(Color.red);
switch(n) {
case 1:
g.drawString("D=TL",5,20);
break;
case 2:
g.drawString("T=int",5,40);
break;
case 3:
g.drawString("T=real",5,60);
break;
case 4:
g.drawString("L=L1,id",5,80);
break;
case 5:
g.drawString("L=id",5,100);
}
m=n;
}
}
class window2 extends Canvas{
public int m=0;
public void paint(Graphics g) {
g.setColor(Color.black);
g.drawLine(0,0,190,0);
g.drawLine(0,0,0,300);
g.drawLine(0,1,190,1);
g.drawLine(1,0,1,300);
g.setColor(Color.white);
g.drawLine(190,0,190,300);
g.drawLine(0,300,190,300);
g.setColor(Color.lightGray);
g.drawLine(189,0,189,300);
g.drawLine(0,299,190,299);
g.setFont(compile.f);
g.setColor(Color.blue);
g.drawString("L.in=T.type",5,20);
g.drawString("T.type=int",5,40);
g.drawString("T.type=real",5,60);
g.drawString("L1.in=L.in",5,80);
g.drawString("addtype(id.entry,L.in)",5,100);
}
public void using(int n) {
Graphics g=this.getGraphics();
g.setColor(Color.blue);
g.setFont(compile.f);
switch(m) {
case 1:
g.drawString("L.in=T.type",5,20);
break;
case 2:
g.drawString("T.type=int",5,40);
break;
case 3:
g.drawString("T.type=real",5,60);
break;
case 4:
g.drawString("L1.in=L.in",5,80);
g.drawString("addtype(id.entry,L.in)",5,100);
break;
case 5:
g.drawString("addtype(id.entry,L.in)",5,100);
break;
case 6:
g.drawString("L.in=T.type",5,20);
}
g.setColor(Color.red);
switch(n) {
case 1:
g.drawString("L.in=T.type",5,20);
break;
case 2:
g.drawString("T.type=int",5,40);
break;
case 3:
g.drawString("T.type=real",5,60);
break;
case 4:
g.drawString("L1.in=L.in",5,80);
g.drawString("addtype(id.entry,L.in)",5,100);
break;
case 5:
g.drawString("addtype(id.entry,L.in)",5,100);
break;
case 6:
g.drawString("L.in=T.type",5,20);
}
m=n;
}
}
class window3 extends Canvas{
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
g.drawImage(compile.offscreen,0,0,this);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -