else.java
来自「编译原理“龙书”(Compilers: Principles, Techniqu」· Java 代码 · 共 20 行
JAVA
20 行
package inter;import symbols.*;public class Else extends Stmt { Expr expr; Stmt stmt1, stmt2; public Else(Expr x, Stmt s1, Stmt s2) { expr = x; stmt1 = s1; stmt2 = s2; if( expr.type != Type.Bool ) expr.error("boolean required in if"); } public void gen(int b, int a) { int label1 = newlabel(); // label1 for stmt1 int label2 = newlabel(); // label2 for stmt2 expr.jumping(0,label2); // fall through to stmt1 on true emitlabel(label1); stmt1.gen(label1, a); emit("goto L" + a); emitlabel(label2); stmt2.gen(label2, a); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?