7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.6 2007/10/2717:53:15 tgl Exp $
10
+ * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.7 2007/10/2719:03:45 tgl Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -181,19 +181,13 @@ typedef enum
181
181
TPS_InHyphenWord ,
182
182
TPS_InHyphenNumWordFirst ,
183
183
TPS_InHyphenNumWord ,
184
- TPS_InHyphenValueFirst ,
185
- TPS_InHyphenValue ,
186
- TPS_InHyphenValueExact ,
184
+ TPS_InHyphenDigitLookahead ,
187
185
TPS_InParseHyphen ,
188
186
TPS_InParseHyphenHyphen ,
189
187
TPS_InHyphenWordPart ,
190
188
TPS_InHyphenAsciiWordPart ,
191
189
TPS_InHyphenNumWordPart ,
192
190
TPS_InHyphenUnsignedInt ,
193
- TPS_InHDecimalPartFirst ,
194
- TPS_InHDecimalPart ,
195
- TPS_InHVersionPartFirst ,
196
- TPS_InHVersionPart ,
197
191
TPS_Null /* last state (fake value) */
198
192
}TParserState ;
199
193
@@ -1147,8 +1141,7 @@ static const TParserStateActionItem actionTPS_InHyphenAsciiWordFirst[] = {
1147
1141
{p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
1148
1142
{p_isasclet ,0 ,A_NEXT ,TPS_InHyphenAsciiWord ,0 ,NULL },
1149
1143
{p_isalpha ,0 ,A_NEXT ,TPS_InHyphenWord ,0 ,NULL },
1150
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenValue ,0 ,NULL },
1151
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenNumWord ,0 ,NULL },
1144
+ {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenDigitLookahead ,0 ,NULL },
1152
1145
{NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1153
1146
};
1154
1147
@@ -1164,8 +1157,7 @@ static const TParserStateActionItem actionTPS_InHyphenAsciiWord[] = {
1164
1157
static const TParserStateActionItem actionTPS_InHyphenWordFirst []= {
1165
1158
{p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
1166
1159
{p_isalpha ,0 ,A_NEXT ,TPS_InHyphenWord ,0 ,NULL },
1167
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenValue ,0 ,NULL },
1168
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenNumWord ,0 ,NULL },
1160
+ {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenDigitLookahead ,0 ,NULL },
1169
1161
{NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1170
1162
};
1171
1163
@@ -1179,8 +1171,8 @@ static const TParserStateActionItem actionTPS_InHyphenWord[] = {
1179
1171
1180
1172
static const TParserStateActionItem actionTPS_InHyphenNumWordFirst []= {
1181
1173
{p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
1182
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenValue ,0 ,NULL },
1183
1174
{p_isalpha ,0 ,A_NEXT ,TPS_InHyphenNumWord ,0 ,NULL },
1175
+ {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenDigitLookahead ,0 ,NULL },
1184
1176
{NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1185
1177
};
1186
1178
@@ -1191,34 +1183,18 @@ static const TParserStateActionItem actionTPS_InHyphenNumWord[] = {
1191
1183
{NULL ,0 ,A_BINGO |A_CLRALL ,TPS_InParseHyphen ,NUMHWORD ,SpecialHyphen }
1192
1184
};
1193
1185
1194
- static const TParserStateActionItem actionTPS_InHyphenValueFirst []= {
1186
+ static const TParserStateActionItem actionTPS_InHyphenDigitLookahead []= {
1195
1187
{p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
1196
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenValueExact ,0 ,NULL },
1197
- {NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1198
- };
1199
-
1200
- static const TParserStateActionItem actionTPS_InHyphenValue []= {
1201
- {p_isEOF ,0 ,A_BINGO |A_CLRALL ,TPS_InParseHyphen ,NUMHWORD ,SpecialHyphen },
1202
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenValue ,0 ,NULL },
1203
- {p_iseqC ,'.' ,A_PUSH ,TPS_InHyphenValueFirst ,0 ,NULL },
1204
- {p_iseqC ,'-' ,A_PUSH ,TPS_InHyphenNumWordFirst ,0 ,NULL },
1188
+ {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenDigitLookahead ,0 ,NULL },
1205
1189
{p_isalpha ,0 ,A_NEXT ,TPS_InHyphenNumWord ,0 ,NULL },
1206
- {NULL ,0 ,A_BINGO |A_CLRALL ,TPS_InParseHyphen ,NUMHWORD ,SpecialHyphen }
1207
- };
1208
-
1209
- static const TParserStateActionItem actionTPS_InHyphenValueExact []= {
1210
- {p_isEOF ,0 ,A_BINGO |A_CLRALL ,TPS_InParseHyphen ,NUMHWORD ,SpecialHyphen },
1211
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenValueExact ,0 ,NULL },
1212
- {p_iseqC ,'.' ,A_PUSH ,TPS_InHyphenValueFirst ,0 ,NULL },
1213
- {p_iseqC ,'-' ,A_PUSH ,TPS_InHyphenNumWordFirst ,0 ,NULL },
1214
- {NULL ,0 ,A_BINGO |A_CLRALL ,TPS_InParseHyphen ,NUMHWORD ,SpecialHyphen }
1190
+ {NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1215
1191
};
1216
1192
1217
1193
static const TParserStateActionItem actionTPS_InParseHyphen []= {
1218
1194
{p_isEOF ,0 ,A_RERUN ,TPS_Base ,0 ,NULL },
1219
1195
{p_isasclet ,0 ,A_NEXT ,TPS_InHyphenAsciiWordPart ,0 ,NULL },
1220
1196
{p_isalpha ,0 ,A_NEXT ,TPS_InHyphenWordPart ,0 ,NULL },
1221
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenUnsignedInt ,0 ,NULL },
1197
+ {p_isdigit ,0 ,A_PUSH ,TPS_InHyphenUnsignedInt ,0 ,NULL },
1222
1198
{p_iseqC ,'-' ,A_PUSH ,TPS_InParseHyphenHyphen ,0 ,NULL },
1223
1199
{NULL ,0 ,A_RERUN ,TPS_Base ,0 ,NULL }
1224
1200
};
@@ -1251,39 +1227,12 @@ static const TParserStateActionItem actionTPS_InHyphenNumWordPart[] = {
1251
1227
};
1252
1228
1253
1229
static const TParserStateActionItem actionTPS_InHyphenUnsignedInt []= {
1254
- {p_isEOF ,0 ,A_BINGO ,TPS_Base ,UNSIGNEDINT ,NULL },
1255
- {p_isdigit ,0 ,A_NEXT ,TPS_InHyphenUnsignedInt ,0 ,NULL },
1256
- {p_isalpha ,0 ,A_NEXT ,TPS_InHyphenNumWordPart ,0 ,NULL },
1257
- {p_iseqC ,'.' ,A_PUSH ,TPS_InHDecimalPartFirst ,0 ,NULL },
1258
- {NULL ,0 ,A_BINGO ,TPS_InParseHyphen ,UNSIGNEDINT ,NULL }
1259
- };
1260
-
1261
- static const TParserStateActionItem actionTPS_InHDecimalPartFirst []= {
1262
- {p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
1263
- {p_isdigit ,0 ,A_CLEAR ,TPS_InHDecimalPart ,0 ,NULL },
1264
- {NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1265
- };
1266
-
1267
- static const TParserStateActionItem actionTPS_InHDecimalPart []= {
1268
- {p_isEOF ,0 ,A_BINGO ,TPS_Base ,DECIMAL ,NULL },
1269
- {p_isdigit ,0 ,A_NEXT ,TPS_InHDecimalPart ,0 ,NULL },
1270
- {p_iseqC ,'.' ,A_PUSH ,TPS_InHVersionPartFirst ,0 ,NULL },
1271
- {NULL ,0 ,A_BINGO ,TPS_InParseHyphen ,DECIMAL ,NULL }
1272
- };
1273
-
1274
- static const TParserStateActionItem actionTPS_InHVersionPartFirst []= {
1275
1230
{p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
1276
- {p_isdigit ,0 ,A_CLEAR ,TPS_InHVersionPart ,0 ,NULL },
1231
+ {p_isdigit ,0 ,A_NEXT ,TPS_Null ,0 ,NULL },
1232
+ {p_isalpha ,0 ,A_CLEAR ,TPS_InHyphenNumWordPart ,0 ,NULL },
1277
1233
{NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
1278
1234
};
1279
1235
1280
- static const TParserStateActionItem actionTPS_InHVersionPart []= {
1281
- {p_isEOF ,0 ,A_BINGO ,TPS_Base ,VERSIONNUMBER ,NULL },
1282
- {p_isdigit ,0 ,A_NEXT ,TPS_InHVersionPart ,0 ,NULL },
1283
- {p_iseqC ,'.' ,A_PUSH ,TPS_InHVersionPartFirst ,0 ,NULL },
1284
- {NULL ,0 ,A_BINGO ,TPS_InParseHyphen ,VERSIONNUMBER ,NULL }
1285
- };
1286
-
1287
1236
1288
1237
/*
1289
1238
* main table of per-state parser actions
@@ -1378,19 +1327,13 @@ static const TParserStateAction Actions[] = {
1378
1327
TPARSERSTATEACTION (TPS_InHyphenWord ),
1379
1328
TPARSERSTATEACTION (TPS_InHyphenNumWordFirst ),
1380
1329
TPARSERSTATEACTION (TPS_InHyphenNumWord ),
1381
- TPARSERSTATEACTION (TPS_InHyphenValueFirst ),
1382
- TPARSERSTATEACTION (TPS_InHyphenValue ),
1383
- TPARSERSTATEACTION (TPS_InHyphenValueExact ),
1330
+ TPARSERSTATEACTION (TPS_InHyphenDigitLookahead ),
1384
1331
TPARSERSTATEACTION (TPS_InParseHyphen ),
1385
1332
TPARSERSTATEACTION (TPS_InParseHyphenHyphen ),
1386
1333
TPARSERSTATEACTION (TPS_InHyphenWordPart ),
1387
1334
TPARSERSTATEACTION (TPS_InHyphenAsciiWordPart ),
1388
1335
TPARSERSTATEACTION (TPS_InHyphenNumWordPart ),
1389
- TPARSERSTATEACTION (TPS_InHyphenUnsignedInt ),
1390
- TPARSERSTATEACTION (TPS_InHDecimalPartFirst ),
1391
- TPARSERSTATEACTION (TPS_InHDecimalPart ),
1392
- TPARSERSTATEACTION (TPS_InHVersionPartFirst ),
1393
- TPARSERSTATEACTION (TPS_InHVersionPart )
1336
+ TPARSERSTATEACTION (TPS_InHyphenUnsignedInt )
1394
1337
};
1395
1338
1396
1339