Index: source/common/rbbinode.h |
diff --git a/source/common/rbbinode.h b/source/common/rbbinode.h |
index 0cbf6a71abe8730bf7d089ac20470b3d38b08532..74096cc814182e004bedf6deb787b6a614ee59b6 100644 |
--- a/source/common/rbbinode.h |
+++ b/source/common/rbbinode.h |
@@ -1,6 +1,8 @@ |
+// Copyright (C) 2016 and later: Unicode, Inc. and others. |
+// License & terms of use: http://www.unicode.org/copyright.html |
/******************************************************************** |
* COPYRIGHT: |
- * Copyright (c) 2001-2006, International Business Machines Corporation and |
+ * Copyright (c) 2001-2016, International Business Machines Corporation and |
* others. All Rights Reserved. |
********************************************************************/ |
@@ -8,6 +10,7 @@ |
#define RBBINODE_H |
#include "unicode/utypes.h" |
+#include "unicode/unistr.h" |
#include "unicode/uobject.h" |
// |
@@ -79,6 +82,10 @@ class RBBINode : public UMemory { |
UBool fLookAheadEnd; // For endMark nodes, set TRUE if |
// marking the end of a look-ahead rule. |
+ UBool fRuleRoot; // True if this node is the root of a rule. |
+ UBool fChainIn; // True if chaining into this rule is allowed |
+ // (no '^' present). |
+ |
UVector *fFirstPosSet; |
UVector *fLastPosSet; // TODO: rename fFirstPos & fLastPos to avoid confusion. |
UVector *fFollowPos; |
@@ -94,8 +101,9 @@ class RBBINode : public UMemory { |
void findNodes(UVector *dest, RBBINode::NodeType kind, UErrorCode &status); |
#ifdef RBBI_DEBUG |
- void printNode(); |
- void printTree(UBool withHeading); |
+ static void printNodeHeader(); |
+ static void printNode(const RBBINode *n); |
+ static void printTree(const RBBINode *n, UBool withHeading); |
#endif |
private: |
@@ -103,6 +111,7 @@ class RBBINode : public UMemory { |
UBool operator == (const RBBINode &other); // Private, so these functions won't accidently be used. |
#ifdef RBBI_DEBUG |
+ public: |
int fSerialNum; // Debugging aids. |
#endif |
}; |