void RBBISymbolTable::rbbiSymtablePrint() const { RBBIDebugPrintf("Variable Definitions\n" "Name Node Val String Val\n" "----------------------------------------------------------------------\n"); int32_t pos = -1; const UHashElement *e = NULL; for (;;) { e = uhash_nextElement(fHashTable, &pos); if (e == NULL ) { break; } RBBISymbolTableEntry *s = (RBBISymbolTableEntry *)e->value.pointer; RBBI_DEBUG_printUnicodeString(s->key, 15); RBBIDebugPrintf(" %8p ", (void *)s->val); RBBI_DEBUG_printUnicodeString(s->val->fLeftChild->fText); RBBIDebugPrintf("\n"); } RBBIDebugPrintf("\nParsed Variable Definitions\n"); pos = -1; for (;;) { e = uhash_nextElement(fHashTable, &pos); if (e == NULL ) { break; } RBBISymbolTableEntry *s = (RBBISymbolTableEntry *)e->value.pointer; RBBI_DEBUG_printUnicodeString(s->key); s->val->fLeftChild->printTree(TRUE); RBBIDebugPrintf("\n"); } }
void RBBISetBuilder::printSets() { int i; RBBIDebugPrintf("\n\nUnicode Sets List\n------------------\n"); for (i=0; ; i++) { RBBINode *usetNode; RBBINode *setRef; RBBINode *varRef; UnicodeString setName; usetNode = (RBBINode *)fRB->fUSetNodes->elementAt(i); if (usetNode == NULL) { break; } RBBIDebugPrintf("%3d ", i); setName = UNICODE_STRING("anonymous", 9); setRef = usetNode->fParent; if (setRef != NULL) { varRef = setRef->fParent; if (varRef != NULL && varRef->fType == RBBINode::varRef) { setName = varRef->fText; } } RBBI_DEBUG_printUnicodeString(setName); RBBIDebugPrintf(" "); RBBI_DEBUG_printUnicodeString(usetNode->fText); RBBIDebugPrintf("\n"); if (usetNode->fLeftChild != NULL) { usetNode->fLeftChild->printTree(TRUE); } } RBBIDebugPrintf("\n"); }
void RBBINode::printNode() { static const char * const nodeTypeNames[] = { "setRef", "uset", "varRef", "leafChar", "lookAhead", "tag", "endMark", "opStart", "opCat", "opOr", "opStar", "opPlus", "opQuestion", "opBreak", "opReverse", "opLParen" }; if (this==NULL) { RBBIDebugPrintf("%10p", (void *)this); } else { RBBIDebugPrintf("%10p %12s %10p %10p %10p %4d %6d %d ", (void *)this, nodeTypeNames[fType], (void *)fParent, (void *)fLeftChild, (void *)fRightChild, fSerialNum, fFirstPos, fVal); if (fType == varRef) { RBBI_DEBUG_printUnicodeString(fText); } } RBBIDebugPrintf("\n"); }
void RBBISetBuilder::printRanges() { RangeDescriptor * rlRange; int i; RBBIDebugPrintf("\n\n Nonoverlapping Ranges ...\n"); for (rlRange = fRangeList; rlRange != 0; rlRange = rlRange->fNext) { RBBIDebugPrintf("%2i %4x-%4x ", rlRange->fNum, rlRange->fStartChar, rlRange->fEndChar); for (i = 0; i < rlRange->fIncludesSets->size(); i++) { RBBINode * usetNode = (RBBINode *)rlRange->fIncludesSets->elementAt(i); UnicodeString setName = UNICODE_STRING("anon", 4); RBBINode * setRef = usetNode->fParent; if (setRef != NULL) { RBBINode * varRef = setRef->fParent; if (varRef != NULL && varRef->fType == RBBINode::varRef) { setName = varRef->fText; } } RBBI_DEBUG_printUnicodeString(setName); RBBIDebugPrintf(" "); } RBBIDebugPrintf("\n"); } }
void RBBISetBuilder::printRangeGroups() { RangeDescriptor * rlRange; RangeDescriptor * tRange; int i; int lastPrintedGroupNum = 0; RBBIDebugPrintf("\nRanges grouped by Unicode Set Membership...\n"); for (rlRange = fRangeList; rlRange != 0; rlRange = rlRange->fNext) { int groupNum = rlRange->fNum & 0xbfff; if (groupNum > lastPrintedGroupNum) { lastPrintedGroupNum = groupNum; RBBIDebugPrintf("%2i ", groupNum); if (rlRange->fNum & 0x4000) { RBBIDebugPrintf(" <DICT> ");} for (i = 0; i < rlRange->fIncludesSets->size(); i++) { RBBINode * usetNode = (RBBINode *)rlRange->fIncludesSets->elementAt(i); UnicodeString setName = UNICODE_STRING("anon", 4); RBBINode * setRef = usetNode->fParent; if (setRef != NULL) { RBBINode * varRef = setRef->fParent; if (varRef != NULL && varRef->fType == RBBINode::varRef) { setName = varRef->fText; } } RBBI_DEBUG_printUnicodeString(setName); RBBIDebugPrintf(" "); } i = 0; for (tRange = rlRange; tRange != 0; tRange = tRange->fNext) { if (tRange->fNum == rlRange->fNum) { if (i++ % 5 == 0) { RBBIDebugPrintf("\n "); } RBBIDebugPrintf(" %05x-%05x", tRange->fStartChar, tRange->fEndChar); } } RBBIDebugPrintf("\n"); } } RBBIDebugPrintf("\n"); }