|
a/src/query/wasastringtoquery.cpp |
|
b/src/query/wasastringtoquery.cpp |
1 |
#ifndef lint
|
1 |
#ifndef lint
|
2 |
static char rcsid[] = "@(#$Id: wasastringtoquery.cpp,v 1.8 2008-08-26 13:47:21 dockes Exp $ (C) 2006 J.F.Dockes";
|
2 |
static char rcsid[] = "@(#$Id: wasastringtoquery.cpp,v 1.9 2008-08-26 13:50:13 dockes Exp $ (C) 2006 J.F.Dockes";
|
3 |
#endif
|
3 |
#endif
|
4 |
/*
|
4 |
/*
|
5 |
* This program is free software; you can redistribute it and/or modify
|
5 |
* This program is free software; you can redistribute it and/or modify
|
6 |
* it under the terms of the GNU General Public License as published by
|
6 |
* it under the terms of the GNU General Public License as published by
|
7 |
* the Free Software Foundation; either version 2 of the License, or
|
7 |
* the Free Software Foundation; either version 2 of the License, or
|
|
... |
|
... |
116 |
/* The master regular expression used to parse a query string
|
116 |
/* The master regular expression used to parse a query string
|
117 |
* Sub-expressions in parenthesis are numbered from 1. Each opening
|
117 |
* Sub-expressions in parenthesis are numbered from 1. Each opening
|
118 |
* parenthesis increases the index, but we're not interested in all
|
118 |
* parenthesis increases the index, but we're not interested in all
|
119 |
*/
|
119 |
*/
|
120 |
static const char * parserExpr =
|
120 |
static const char * parserExpr =
|
121 |
"([oO][rR]|\\|\\|)[[:space:]]*" //1 OR,or,||
|
121 |
"(OR|\\|\\|)[[:space:]]*" //1 OR,||
|
122 |
"|"
|
122 |
"|"
|
123 |
"([Aa][Nn][Dd]|&&)[[:space:]]*" // 2 AND,and,&& (ignored, default)
|
123 |
"(AND|&&)[[:space:]]*" // 2 AND,&& (ignored, default)
|
124 |
"|"
|
124 |
"|"
|
125 |
"(" //3
|
125 |
"(" //3
|
126 |
"([+-])?" //4 Force or exclude indicator
|
126 |
"([+-])?" //4 Force or exclude indicator
|
127 |
"(" //5
|
127 |
"(" //5
|
128 |
"([[:alpha:]][[:alnum:]:]*)" //6 Field spec: ie: "dc:title:letitre"
|
128 |
"([[:alpha:]][[:alnum:]:]*)" //6 Field spec: ie: "dc:title:letitre"
|