selection.java
来自「myassembler(大学作业)」· Java 代码 · 共 39 行
JAVA
39 行
public class Selection extends Statement { private Expression condition; private Statement ifStatement, elseStatement; public Selection(Expression c, Statement ts, Statement fs) { condition = (Expression)c.clone(); ifStatement = (Statement)ts.clone(); elseStatement = (Statement)fs.clone(); } public void run() throws ExecutionException { if (condition.eval() == 1) ifStatement.run(); else elseStatement.run(); } public Object clone() { return new Selection(condition, ifStatement, elseStatement); } /* --------------------------------------- * condition * jzero li * ifstatement * jump lj * li:elsestatement * lj:... * @see java.lang.Object#toString() */ public String toString() { String result = condition.toString(); int truelabel = ++labels, falselabel = ++labels; result += labelling()+"JZERO L"+falselabel+"\n"+ifStatement.toString()+labelling()+"JUMP L"+truelabel+"\n"; toLabel = falselabel; result += elseStatement.toString(); toLabel = truelabel; return result; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?