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 + -
显示快捷键?