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