From d719b190c29b5f603cb19a29e3585b8d84cb51fc Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Wed, 24 Jul 2024 21:45:22 +0300 Subject: more fp bugfixes --- chapter12/src/main/java/com/seaofnodes/simple/Parser.java | 2 +- chapter12/src/main/java/com/seaofnodes/simple/node/DivFNode.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'chapter12/src/main/java') diff --git a/chapter12/src/main/java/com/seaofnodes/simple/Parser.java b/chapter12/src/main/java/com/seaofnodes/simple/Parser.java index f4108461..fd0a63f2 100644 --- a/chapter12/src/main/java/com/seaofnodes/simple/Parser.java +++ b/chapter12/src/main/java/com/seaofnodes/simple/Parser.java @@ -510,7 +510,7 @@ public class Parser { op.setDef(idx,parseAddition()); Node fop = op.widen(); lhs = fop.peephole(); - op.kill(); + if( op != fop ) op.kill(); if( negate ) // Extra negate for != lhs = new NotNode(lhs).peephole(); } diff --git a/chapter12/src/main/java/com/seaofnodes/simple/node/DivFNode.java b/chapter12/src/main/java/com/seaofnodes/simple/node/DivFNode.java index 3333b417..36fd4524 100644 --- a/chapter12/src/main/java/com/seaofnodes/simple/node/DivFNode.java +++ b/chapter12/src/main/java/com/seaofnodes/simple/node/DivFNode.java @@ -10,12 +10,12 @@ public class DivFNode extends Node { @Override public String label() { return "DivF"; } - @Override public String glabel() { return "*"; } + @Override public String glabel() { return "/"; } @Override StringBuilder _print1(StringBuilder sb, BitSet visited) { in(1)._print0(sb.append("("), visited); - in(2)._print0(sb.append("*"), visited); + in(2)._print0(sb.append("/"), visited); return sb.append(")"); } -- cgit v1.2.3