📄 unary.java
字号:
package inter;import lexer.*; import symbols.*;public class Unary extends Op { public Expr expr; public Unary(Token tok, Expr x) { // handles minus, for ! see Not super(tok, null); expr = x; type = Type.max(Type.Int, expr.type); if (type == null ) error("type error"); } public Expr gen() { return new Unary(op, expr.reduce()); } public String toString() { expr.toString(); if(expr.type == Type.Int) { return "ineg " + expr.lvaIdx + "\n"; } else if(expr.type == Type.Float) { return "fneg " + expr.lvaIdx + "\n"; } else if(expr.type == Type.Complex) { return "fneg\n" + "fstore " + LocalVarArray.curlength + "\n" + "fneg\n" + "fload " + LocalVarArray.curlength + "\n"; } else { return null; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -