7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.6 2007/10/27 17:53:15 tgl Exp $
10
+ * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.7 2007/10/27 19: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
0 commit comments