else.java

来自「用java实现的编译器. 包括语法分析」· Java 代码 · 共 24 行

JAVA
24
字号
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 Else");	}		public void gen(int b, int a) {		int label1 = newlabel();		int label2 = newlabel();		expr.jumping(0, label2);		emitlabel(label1);		stmt1.gen(label1, a);		emit("goto L" + a);		emitlabel(label2);		stmt2.gen(label2, a);	}}

⌨️ 快捷键说明

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