X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fparser%2Fgenerator%2Ftable%2FParseTableBuilder.java;fp=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fparser%2Fgenerator%2Ftable%2FParseTableBuilder.java;h=c186946437e572e83e234ce0d4a74a87ee8a0869;hb=1dfeb7d5c49b1391cd9d877e1eddab18995cb151;hp=fdb01e58d37ce2f1cf37a49dee5fd82eee3531e2;hpb=c13c4179bda758e77fe1f2032d3c4268bb9e3120;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/generator/table/ParseTableBuilder.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/generator/table/ParseTableBuilder.java index fdb01e58d..c18694643 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/generator/table/ParseTableBuilder.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/generator/table/ParseTableBuilder.java @@ -5,6 +5,8 @@ import java.util.Arrays; import org.simantics.scl.compiler.parser.generator.grammar.AnaGrammar; import org.simantics.scl.compiler.parser.generator.grammar.Prod; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import gnu.trove.list.array.TIntArrayList; import gnu.trove.list.array.TLongArrayList; @@ -20,6 +22,7 @@ import gnu.trove.set.hash.TIntHashSet; import gnu.trove.set.hash.TLongHashSet; public class ParseTableBuilder { + private static final Logger LOGGER = LoggerFactory.getLogger(ParseTableBuilder.class); public final static int MAX_STACK_ID = 10; private static final int STATE_MASK = 0x0fff; @@ -129,8 +132,8 @@ public class ParseTableBuilder { //System.out.println(newState + " " + grammar.getName(a) + " " + stackOp); if(stackOverflow) { - System.err.println("Stack overflow when following " + grammar.getName(a) + " at"); - System.err.println(itemSet.toString(grammar)); + LOGGER.error("Stack overflow when following " + grammar.getName(a) + " at"); + LOGGER.error(itemSet.toString(grammar)); } else { int state = getState(a, b); @@ -337,13 +340,13 @@ public class ParseTableBuilder { trans.put(symbol, REDUCE_MASK | production | (stackPos << 13)); } else { - System.err.println("Shift/reduce conflict when encountering " + grammar.terminalNames[symbol] + " in context"); - System.err.println(itemSets.get(i).toString(grammar)); + LOGGER.error("Shift/reduce conflict when encountering " + grammar.terminalNames[symbol] + " in context"); + LOGGER.error(itemSets.get(i).toString(grammar)); } } else { - System.err.println("Reduce/reduce conflict when encountering " + grammar.terminalNames[symbol] + " in context"); - System.err.println(itemSets.get(i).toString(grammar)); + LOGGER.error("Reduce/reduce conflict when encountering " + grammar.terminalNames[symbol] + " in context"); + LOGGER.error(itemSets.get(i).toString(grammar)); } } else @@ -392,7 +395,7 @@ public class ParseTableBuilder { builder.createReduceActions(); - System.out.println("States: " + builder.itemSets.size()); + LOGGER.info("States: " + builder.itemSets.size()); //builder.visualize(); @@ -478,34 +481,34 @@ public class ParseTableBuilder { } }); for(int i=0;i "); + LOGGER.info(grammar.getName(a) + " -> "); if(sOp != 0) { - System.out.print("["); + LOGGER.info("["); if((sOp & PUSH_MASK) != 0) { sOp ^= PUSH_MASK; - System.out.print("PUSH "); + LOGGER.info("PUSH "); } if((sOp & POP_MASK) != 0) { sOp ^= POP_MASK; - System.out.print("POP "); + LOGGER.info("POP "); } if(sOp != 0) - System.out.print(sOp); - System.out.print("] "); + LOGGER.info(Integer.toString(sOp)); + LOGGER.info("] "); } if((b & REDUCE_MASK) != 0) { b ^= REDUCE_MASK; - System.out.println("reduce " + b); // grammar.prods.get(~b).toString(grammar)); + LOGGER.info("reduce " + b); // grammar.prods.get(~b).toString(grammar)); } else { - System.out.println("shift " + b); + LOGGER.info("shift " + b); } return true; }