//----------------------------------------------------------------------------- // // printSet Debug function. Print the contents of a set of Nodes // //----------------------------------------------------------------------------- internal virtual void PrintSet(ICollection <RBBINode> s) { foreach (RBBINode n in s) { RBBINode.PrintInt32(n.fSerialNum, 8); } Console.Out.WriteLine(); }
//------------------------------------------------------------------------- // // print. Print out a single node, for debugging. // //------------------------------------------------------------------------- ////CLOVER:OFF internal static void PrintNode(RBBINode n) { if (n == null) { Console.Out.Write(" -- null --\n"); } else { RBBINode.PrintInt32(n.fSerialNum, 10); RBBINode.PrintString(nodeTypeNames[n.fType], 11); RBBINode.PrintInt32(n.fParent == null ? 0 : n.fParent.fSerialNum, 11); RBBINode.PrintInt32(n.fLeftChild == null ? 0 : n.fLeftChild.fSerialNum, 11); RBBINode.PrintInt32(n.fRightChild == null ? 0 : n.fRightChild.fSerialNum, 12); RBBINode.PrintInt32(n.fFirstPos, 12); RBBINode.PrintInt32(n.fVal, 7); if (n.fType == varRef) { Console.Out.Write(" " + n.fText); } } Console.Out.WriteLine(""); }
//CLOVER:ON //------------------------------------------------------------------------ // // printSets A debugging function. // dump out all of the set definitions. // //------------------------------------------------------------------------ ///CLOVER:OFF internal virtual void PrintSets() { int i; Console.Out.Write("\n\nUnicode Sets List\n------------------\n"); for (i = 0; i < fRB.fUSetNodes.Count; i++) { RBBINode usetNode; RBBINode setRef; RBBINode varRef; String setName; usetNode = fRB.fUSetNodes[i]; //System.out.print(" " + i + " "); RBBINode.PrintInt32(2, i); setName = "anonymous"; setRef = usetNode.fParent; if (setRef != null) { varRef = setRef.fParent; if (varRef != null && varRef.fType == RBBINode.varRef) { setName = varRef.fText; } } Console.Out.Write(" " + setName); Console.Out.Write(" "); Console.Out.Write(usetNode.fText); Console.Out.Write("\n"); if (usetNode.fLeftChild != null) { usetNode.fLeftChild.PrintTree(true); } } Console.Out.Write("\n"); }
//----------------------------------------------------------------------------- // // printStates Debug Function. Dump the fully constructed state transition table. // //----------------------------------------------------------------------------- internal virtual void PrintStates() { int c; // input "character" int n; // state number Console.Out.Write("state | i n p u t s y m b o l s \n"); Console.Out.Write(" | Acc LA Tag"); for (c = 0; c < fRB.fSetBuilder.NumCharCategories; c++) { RBBINode.PrintInt32(c, 3); } Console.Out.Write("\n"); Console.Out.Write(" |---------------"); for (c = 0; c < fRB.fSetBuilder.NumCharCategories; c++) { Console.Out.Write("---"); } Console.Out.Write("\n"); for (n = 0; n < fDStates.Count; n++) { RBBIStateDescriptor sd = fDStates[n]; RBBINode.PrintInt32(n, 5); Console.Out.Write(" | "); RBBINode.PrintInt32(sd.fAccepting, 3); RBBINode.PrintInt32(sd.fLookAhead, 4); RBBINode.PrintInt32(sd.fTagsIdx, 6); Console.Out.Write(" "); for (c = 0; c < fRB.fSetBuilder.NumCharCategories; c++) { RBBINode.PrintInt32(sd.fDtran[c], 3); } Console.Out.Write("\n"); } Console.Out.Write("\n\n"); }
//----------------------------------------------------------------------------- // // printRuleStatusTable Debug Function. Dump the common rule status table // //----------------------------------------------------------------------------- internal virtual void PrintRuleStatusTable() { int thisRecord = 0; int nextRecord = 0; int i; IList <int> tbl = fRB.fRuleStatusVals; Console.Out.Write("index | tags \n"); Console.Out.Write("-------------------\n"); while (nextRecord < tbl.Count) { thisRecord = nextRecord; nextRecord = thisRecord + tbl[thisRecord] + 1; RBBINode.PrintInt32(thisRecord, 7); for (i = thisRecord + 1; i < nextRecord; i++) { int val = tbl[i]; RBBINode.PrintInt32(val, 7); } Console.Out.Write("\n"); } Console.Out.Write("\n\n"); }