set.java
来自「用java实现的编译器. 包括语法分析」· Java 代码 · 共 24 行
JAVA
24 行
package inter;import lexer.*;import symbols.*;public class Set extends Stmt { public Id id; public Expr expr; public Set(Id i, Expr x) { id = i; expr =x; if(check(id.type, expr.type) == null) error("type error"); } public Type check(Type p1, Type p2) { if(Type.numeric(p1) && Type.numeric(p2)) return p2; else if(p1 == Type.Bool && p2 == Type.Bool) return p2; else return null; } public void gen(int b, int a) { emit( id.toString() + " = " + expr.gen().toString() ); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?