// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html // // rbbisetb.h /* ********************************************************************** * Copyright (c) 2001-2005, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** */ #ifndef RBBISETB_H #define RBBISETB_H #include "unicode/utypes.h" #if !UCONFIG_NO_BREAK_ITERATION #include "unicode/ucptrie.h" #include "unicode/umutablecptrie.h" #include "unicode/uobject.h" #include "rbbirb.h" #include "uvector.h" U_NAMESPACE_BEGIN // // RBBISetBuilder Derives the character categories used by the runtime RBBI engine // from the Unicode Sets appearing in the source RBBI rules, and // creates the TRIE table used to map from Unicode to the // character categories. // // // RangeDescriptor // // Each of the non-overlapping character ranges gets one of these descriptors. // All of them are strung together in a linked list, which is kept in order // (by character) // class RangeDescriptor : public UMemory { … }; // // RBBISetBuilder Handles processing of Unicode Sets from RBBI rules. // // Starting with the rules parse tree from the scanner, // // - Enumerate the set of UnicodeSets that are referenced // by the RBBI rules. // - compute a derived set of non-overlapping UnicodeSets // that will correspond to columns in the state table for // the RBBI execution engine. // - construct the trie table that maps input characters // to set numbers in the non-overlapping set of sets. // class RBBISetBuilder : public UMemory { … }; U_NAMESPACE_END #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ #endif