LEFT | RIGHT |
(no file at all) | |
1 // © 2016 and later: Unicode, Inc. and others. | 1 // © 2016 and later: Unicode, Inc. and others. |
2 // License & terms of use: http://www.unicode.org/copyright.html | 2 // License & terms of use: http://www.unicode.org/copyright.html |
3 /* | 3 /* |
4 ******************************************************************************* | 4 ******************************************************************************* |
5 * | 5 * |
6 * Copyright (C) 1999-2014 International Business Machines | 6 * Copyright (C) 1999-2014 International Business Machines |
7 * Corporation and others. All Rights Reserved. | 7 * Corporation and others. All Rights Reserved. |
8 * | 8 * |
9 ******************************************************************************* | 9 ******************************************************************************* |
10 * file name: rbbidata.h | 10 * file name: rbbidata.h |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 int16_t fLookAhead; /* Non-zero if this row is for a state that
*/ | 109 int16_t fLookAhead; /* Non-zero if this row is for a state that
*/ |
110 /* corresponds to a '/' in the rule sourc
e. */ | 110 /* corresponds to a '/' in the rule sourc
e. */ |
111 /* Value is the same as the fAccepting
*/ | 111 /* Value is the same as the fAccepting
*/ |
112 /* value for the rule (which will appea
r */ | 112 /* value for the rule (which will appea
r */ |
113 /* in a different state.
*/ | 113 /* in a different state.
*/ |
114 int16_t fTagIdx; /* Non-zero if this row covers a {tagged} p
osition */ | 114 int16_t fTagIdx; /* Non-zero if this row covers a {tagged} p
osition */ |
115 /* from a rule. Value is the index in t
he */ | 115 /* from a rule. Value is the index in t
he */ |
116 /* StatusTable of the set of matching
*/ | 116 /* StatusTable of the set of matching
*/ |
117 /* tags (rule status values)
*/ | 117 /* tags (rule status values)
*/ |
118 int16_t fReserved; | 118 int16_t fReserved; |
119 uint16_t fNextState[2]; /* Next State, indexed by char category.
*/ | 119 uint16_t fNextState[1]; /* Next State, indexed by char category.
*/ |
120 /* This array does not have two elements
*/ | 120 /* Variable-length array declared with le
ngth 1 */ |
121 /* Array Size is actually fData->fHeader-
>fCatCount */ | 121 /* to disable bounds checkers.
*/ |
| 122 /* Array Size is actually fData->fHeader-
>fCatCount*/ |
122 /* CAUTION: see RBBITableBuilder::getTab
leSize() */ | 123 /* CAUTION: see RBBITableBuilder::getTab
leSize() */ |
123 /* before changing anything her
e. */ | 124 /* before changing anything her
e. */ |
124 }; | 125 }; |
125 | 126 |
126 | 127 |
127 struct RBBIStateTable { | 128 struct RBBIStateTable { |
128 uint32_t fNumStates; /* Number of states.
*/ | 129 uint32_t fNumStates; /* Number of states.
*/ |
129 uint32_t fRowLen; /* Length of a state table row, in bytes.
*/ | 130 uint32_t fRowLen; /* Length of a state table row, in bytes.
*/ |
130 uint32_t fFlags; /* Option Flags for this state table
*/ | 131 uint32_t fFlags; /* Option Flags for this state table
*/ |
131 uint32_t fReserved; /* reserved
*/ | 132 uint32_t fReserved; /* reserved
*/ |
132 char fTableData[4]; /* First RBBIStateTableRow begins here.
*/ | 133 char fTableData[1]; /* First RBBIStateTableRow begins here.
*/ |
| 134 /* Variable-length array declared with le
ngth 1 */ |
| 135 /* to disable bounds checkers.
*/ |
133 /* (making it char[] simplifies ugly addr
ess */ | 136 /* (making it char[] simplifies ugly addr
ess */ |
134 /* arithmetic for indexing variable leng
th rows.) */ | 137 /* arithmetic for indexing variable leng
th rows.) */ |
135 }; | 138 }; |
136 | 139 |
137 typedef enum { | 140 typedef enum { |
138 RBBI_LOOKAHEAD_HARD_BREAK = 1, | 141 RBBI_LOOKAHEAD_HARD_BREAK = 1, |
139 RBBI_BOF_REQUIRED = 2 | 142 RBBI_BOF_REQUIRED = 2 |
140 } RBBIStateTableFlags; | 143 } RBBIStateTableFlags; |
141 | 144 |
142 | 145 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 RBBIDataWrapper &operator=(const RBBIDataWrapper &other); /* forbid copying
of this class */ | 199 RBBIDataWrapper &operator=(const RBBIDataWrapper &other); /* forbid copying
of this class */ |
197 }; | 200 }; |
198 | 201 |
199 | 202 |
200 | 203 |
201 U_NAMESPACE_END | 204 U_NAMESPACE_END |
202 | 205 |
203 #endif /* C++ */ | 206 #endif /* C++ */ |
204 | 207 |
205 #endif | 208 #endif |
LEFT | RIGHT |