📄 sequence.java
字号:
package test;
import java.util.LinkedList;
public class Sequence extends NonLeaf{
public Sequence(Sequence q)
{
super(q);
this.operator=new String(";");
}
public Sequence()
{
super();
this.operator=new String(";");
}
public C_Event work1(NonLeaf n,Leaf n2)
{
C_Event ce=null;
Node n1=n.getlchild();
NonLeaf p1;
Leaf q2;
p1=(NonLeaf)n1;
q2=(Leaf)n2;
if(((Leaf)p1.getlchild()).getevents().size()==0)
{
q2.getevents().removeLast();
}
else{
P_Event pe1=((Leaf)p1.getlchild()).getevents().getFirst();
P_Event pe2=q2.getevents().getFirst();
ce=new C_Event(pe1,pe2,n);
}
return ce;
}
public C_Event work2(NonLeaf n,Leaf n2)
{
C_Event ce=null;
Node n1=n.getlchild();
NonLeaf p1;
Leaf q2;
p1=(NonLeaf)n1;
q2=(Leaf)n2;
if(((Leaf)p1.getlchild()).getevents().size()==0)
{
q2.getevents().removeFirst();
}
else{
POINT1:while(((Leaf)p1.getlchild()).getevents().size()!=0)
{
P_Event pe1=((Leaf)p1.getlchild()).getevents().removeFirst();
int i;
POINT2:for(i=0;i<((Leaf)((NonLeaf)p1.getrchild()).getrchild()).getevents().size();i++)
{
P_Event pe=((Leaf)((NonLeaf)p1.getrchild()).getrchild()).getevents().get(i);
if(pe1.compareEarly(pe))
break POINT2;
}
if(i==((Leaf)((NonLeaf)p1.getrchild()).getrchild()).getevents().size())
{
ce=new C_Event(pe1,q2.getevents().removeFirst(),n);
break POINT1;
}
}
if(ce==null)
{
q2.getevents().removeFirst();
LinkedList<P_Event> r=new LinkedList<P_Event>();
((Leaf)((NonLeaf)p1.getrchild()).getrchild()).getevents().removeAll(r);
}
}
return ce;
}
public C_Event work3(NonLeaf n,Leaf n2,WaitQueue waitQueue)
{
C_Event ce=null;
P_Event pe1=n2.getevents().getFirst();
P_Event pe2;
for(int i=waitQueue.getQueue().indexOf(pe1)-1;i>=0;i--)
{
pe2=waitQueue.getQueue().get(i);
if(pe2.gettype()=='B') break;
else if(pe2.gettype()!='C'){
ce=new C_Event(pe1,pe2,n);}
break;
}
if(ce==null) n2.getevents().removeFirst();
return ce;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -