Lines Matching refs:RBBINode
33 RBBITableBuilder::RBBITableBuilder(RBBIRuleBuilder *rb, RBBINode **rootNode, UErrorCode &status) : in RBBITableBuilder()
88 RBBINode::printTree(fTree, TRUE); in buildForwardTable()
99 RBBINode *bofTop = new RBBINode(RBBINode::opCat); in buildForwardTable()
100 RBBINode *bofLeaf = new RBBINode(RBBINode::leafChar); in buildForwardTable()
120 RBBINode *cn = new RBBINode(RBBINode::opCat); in buildForwardTable()
128 RBBINode *endMarkerNode = cn->fRightChild = new RBBINode(RBBINode::endMark); in buildForwardTable()
146 RBBINode::printTree(fTree, TRUE); in buildForwardTable()
205 void RBBITableBuilder::calcNullable(RBBINode *n) { in calcNullable()
209 if (n->fType == RBBINode::setRef || in calcNullable()
210 n->fType == RBBINode::endMark ) { in calcNullable()
216 if (n->fType == RBBINode::lookAhead || n->fType == RBBINode::tag) { in calcNullable()
230 if (n->fType == RBBINode::opOr) { in calcNullable()
233 else if (n->fType == RBBINode::opCat) { in calcNullable()
236 else if (n->fType == RBBINode::opStar || n->fType == RBBINode::opQuestion) { in calcNullable()
252 void RBBITableBuilder::calcFirstPos(RBBINode *n) { in calcFirstPos()
256 if (n->fType == RBBINode::leafChar || in calcFirstPos()
257 n->fType == RBBINode::endMark || in calcFirstPos()
258 n->fType == RBBINode::lookAhead || in calcFirstPos()
259 n->fType == RBBINode::tag) { in calcFirstPos()
274 if (n->fType == RBBINode::opOr) { in calcFirstPos()
278 else if (n->fType == RBBINode::opCat) { in calcFirstPos()
284 else if (n->fType == RBBINode::opStar || in calcFirstPos()
285 n->fType == RBBINode::opQuestion || in calcFirstPos()
286 n->fType == RBBINode::opPlus) { in calcFirstPos()
298 void RBBITableBuilder::calcLastPos(RBBINode *n) { in calcLastPos()
302 if (n->fType == RBBINode::leafChar || in calcLastPos()
303 n->fType == RBBINode::endMark || in calcLastPos()
304 n->fType == RBBINode::lookAhead || in calcLastPos()
305 n->fType == RBBINode::tag) { in calcLastPos()
320 if (n->fType == RBBINode::opOr) { in calcLastPos()
324 else if (n->fType == RBBINode::opCat) { in calcLastPos()
330 else if (n->fType == RBBINode::opStar || in calcLastPos()
331 n->fType == RBBINode::opQuestion || in calcLastPos()
332 n->fType == RBBINode::opPlus) { in calcLastPos()
344 void RBBITableBuilder::calcFollowPos(RBBINode *n) { in calcFollowPos()
346 n->fType == RBBINode::leafChar || in calcFollowPos()
347 n->fType == RBBINode::endMark) { in calcFollowPos()
355 if (n->fType == RBBINode::opCat) { in calcFollowPos()
356 RBBINode *i; // is 'i' in Aho's description in calcFollowPos()
362 i = (RBBINode *)LastPosOfLeftChild->elementAt(ix); in calcFollowPos()
368 if (n->fType == RBBINode::opStar || in calcFollowPos()
369 n->fType == RBBINode::opPlus) { in calcFollowPos()
370 RBBINode *i; // again, n and i are the names from Aho's description. in calcFollowPos()
374 i = (RBBINode *)n->fLastPosSet->elementAt(ix); in calcFollowPos()
389 void RBBITableBuilder::addRuleRootNodes(UVector *dest, RBBINode *node) { in addRuleRootNodes()
409 void RBBITableBuilder::calcChainedFollowPos(RBBINode *tree, RBBINode *endMarkNode) { in calcChainedFollowPos()
417 tree->findNodes(&leafNodes, RBBINode::leafChar, *fStatus); in calcChainedFollowPos()
431 RBBINode *node = static_cast<RBBINode *>(ruleRootNodes.elementAt(j)); in calcChainedFollowPos()
444 RBBINode *endNode = (RBBINode *)leafNodes.elementAt(endNodeIx); in calcChainedFollowPos()
477 RBBINode *startNode; in calcChainedFollowPos()
479 startNode = (RBBINode *)matchStartNodes.elementAt(startNodeIx); in calcChainedFollowPos()
480 if (startNode->fType != RBBINode::leafChar) { in calcChainedFollowPos()
525 RBBINode *bofNode = fTree->fLeftChild->fLeftChild; in bofFixup()
526 U_ASSERT(bofNode->fType == RBBINode::leafChar); in bofFixup()
536 RBBINode *startNode; in bofFixup()
539 startNode = (RBBINode *)matchStartNodes->elementAt(startNodeIx); in bofFixup()
540 if (startNode->fType != RBBINode::leafChar) { in bofFixup()
639 RBBINode *p; in buildStateTable()
642 p = (RBBINode *)T->fPositions->elementAt(px); in buildStateTable()
643 if ((p->fType == RBBINode::leafChar) && (p->fVal == a)) { in buildStateTable()
730 RBBINode *node = static_cast<RBBINode *>(sd->fPositions->elementAt(ipos)); in mapLookAheadRules()
731 if (node->fType != RBBINode::NodeType::lookAhead) { in mapLookAheadRules()
761 RBBINode *node = static_cast<RBBINode *>(sd->fPositions->elementAt(ipos)); in mapLookAheadRules()
762 if (node->fType != RBBINode::NodeType::lookAhead) { in mapLookAheadRules()
789 RBBINode *endMarker; in flagAcceptingStates()
797 fTree->findNodes(&endMarkerNodes, RBBINode::endMark, *fStatus); in flagAcceptingStates()
803 endMarker = (RBBINode *)endMarkerNodes.elementAt(i); in flagAcceptingStates()
842 RBBINode *lookAheadNode; in flagLookAheadStates()
846 fTree->findNodes(&lookAheadNodes, RBBINode::lookAhead, *fStatus); in flagLookAheadStates()
851 lookAheadNode = (RBBINode *)lookAheadNodes.elementAt(i); in flagLookAheadStates()
852 U_ASSERT(lookAheadNode->fType == RBBINode::NodeType::lookAhead); in flagLookAheadStates()
884 RBBINode *tagNode; in flagTaggedStates()
891 fTree->findNodes(&tagNodes, RBBINode::tag, *fStatus); in flagTaggedStates()
896 tagNode = (RBBINode *)tagNodes.elementAt(i); in flagTaggedStates()
1121 void RBBITableBuilder::printPosSets(RBBINode *n) { in printPosSets()
1126 RBBINode::printNodeHeader(); in printPosSets()
1127 RBBINode::printNode(n); in printPosSets()
1638 const RBBINode *v = static_cast<const RBBINode *>(s->elementAt(i)); in printSet()