]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/generator/table/ParseTableBuilder.java
Replace System.err and System.out with SLF4J Logging
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / parser / generator / table / ParseTableBuilder.java
index fdb01e58d37ce2f1cf37a49dee5fd82eee3531e2..c186946437e572e83e234ce0d4a74a87ee8a0869 100644 (file)
@@ -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<stateSets.length;++i) {
-            System.out.println("--- State " + i + " ---");
-            System.out.println(stateSets[i].toString(grammar));
+            LOGGER.info("--- State " + i + " ---");
+            LOGGER.info(stateSets[i].toString(grammar));
             final TIntIntHashMap stackOp = stackOps.get(i);
             transitions.get(i).forEachEntry(new TIntIntProcedure() {
                 @Override
                 public boolean execute(int a, int b) {
                     int sOp = stackOp.get(a);
-                    System.out.print(grammar.getName(a) + " -> ");
+                    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;
                 }