more lexer/parser simplification
This commit is contained in:
parent
6c75b7c646
commit
bb285cd0f2
|
@ -16,9 +16,13 @@
|
|||
{
|
||||
lval.s = yylex.Text()[1:]
|
||||
logDebugTokens("TILDENUMBER - %s", lval.s);
|
||||
return tTILDENUMBER
|
||||
return tTILDE
|
||||
}
|
||||
/~/ { logDebugTokens("TILDE"); return tTILDE }
|
||||
/~/ {
|
||||
lval.s = "1"
|
||||
logDebugTokens("TILDE");
|
||||
return tTILDE
|
||||
}
|
||||
/-?([0-9]|[1-9][0-9]*)(\.[0-9][0-9]*)?/
|
||||
{
|
||||
lval.s = yylex.Text()
|
||||
|
|
|
@ -1349,10 +1349,11 @@ OUTER0:
|
|||
{
|
||||
lval.s = yylex.Text()[1:]
|
||||
logDebugTokens("TILDENUMBER - %s", lval.s)
|
||||
return tTILDENUMBER
|
||||
return tTILDE
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
lval.s = "1"
|
||||
logDebugTokens("TILDE")
|
||||
return tTILDE
|
||||
}
|
||||
|
|
|
@ -19,12 +19,12 @@ f float64
|
|||
q Query}
|
||||
|
||||
%token tSTRING tPHRASE tPLUS tMINUS tCOLON tBOOST tLPAREN tRPAREN tNUMBER tSTRING tGREATER tLESS
|
||||
tEQUAL tTILDE tTILDENUMBER
|
||||
tEQUAL tTILDE
|
||||
|
||||
%type <s> tSTRING
|
||||
%type <s> tPHRASE
|
||||
%type <s> tNUMBER
|
||||
%type <s> tTILDENUMBER
|
||||
%type <s> tTILDE
|
||||
%type <q> searchBase
|
||||
%type <f> searchSuffix
|
||||
%type <n> searchPrefix
|
||||
|
@ -100,36 +100,18 @@ tSTRING {
|
|||
|
|
||||
tSTRING tTILDE {
|
||||
str := $1
|
||||
logDebugGrammar("FUZZY STRING - %s", str)
|
||||
fuzziness, _ := strconv.ParseFloat($2, 64)
|
||||
logDebugGrammar("FUZZY STRING - %s %f", str, fuzziness)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(1)
|
||||
q.SetFuzziness(int(fuzziness))
|
||||
$$ = q
|
||||
}
|
||||
|
|
||||
tSTRING tCOLON tSTRING tTILDE {
|
||||
field := $1
|
||||
str := $3
|
||||
logDebugGrammar("FIELD - %s FUZZY STRING - %s", field, str)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(1)
|
||||
q.SetField(field)
|
||||
$$ = q
|
||||
}
|
||||
|
|
||||
tSTRING tTILDENUMBER {
|
||||
str := $1
|
||||
fuzziness, _ := strconv.ParseFloat($2, 64)
|
||||
logDebugGrammar("FUZZY STRING - %s", str)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(int(fuzziness))
|
||||
$$ = q
|
||||
}
|
||||
|
|
||||
tSTRING tCOLON tSTRING tTILDENUMBER {
|
||||
field := $1
|
||||
str := $3
|
||||
fuzziness, _ := strconv.ParseFloat($4, 64)
|
||||
logDebugGrammar("FIELD - %s FUZZY-%f STRING - %s", field, fuzziness, str)
|
||||
logDebugGrammar("FIELD - %s FUZZY STRING - %s %f", field, str, fuzziness)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(int(fuzziness))
|
||||
q.SetField(field)
|
||||
|
|
|
@ -36,7 +36,6 @@ const tGREATER = 57355
|
|||
const tLESS = 57356
|
||||
const tEQUAL = 57357
|
||||
const tTILDE = 57358
|
||||
const tTILDENUMBER = 57359
|
||||
|
||||
var yyToknames = [...]string{
|
||||
"$end",
|
||||
|
@ -55,7 +54,6 @@ var yyToknames = [...]string{
|
|||
"tLESS",
|
||||
"tEQUAL",
|
||||
"tTILDE",
|
||||
"tTILDENUMBER",
|
||||
}
|
||||
var yyStatenames = [...]string{}
|
||||
|
||||
|
@ -73,57 +71,57 @@ var yyExca = [...]int{
|
|||
-2, 5,
|
||||
}
|
||||
|
||||
const yyNprod = 30
|
||||
const yyNprod = 28
|
||||
const yyPrivate = 57344
|
||||
|
||||
var yyTokenNames []string
|
||||
var yyStates []string
|
||||
|
||||
const yyLast = 36
|
||||
const yyLast = 34
|
||||
|
||||
var yyAct = [...]int{
|
||||
|
||||
17, 25, 26, 20, 22, 19, 15, 32, 16, 18,
|
||||
3, 21, 23, 24, 30, 29, 36, 31, 10, 12,
|
||||
34, 1, 27, 35, 14, 28, 11, 33, 6, 7,
|
||||
2, 5, 4, 13, 8, 9,
|
||||
19, 21, 24, 18, 30, 27, 15, 3, 20, 22,
|
||||
23, 28, 25, 17, 29, 26, 10, 12, 34, 32,
|
||||
1, 16, 6, 7, 11, 33, 31, 2, 14, 5,
|
||||
4, 8, 13, 9,
|
||||
}
|
||||
var yyPact = [...]int{
|
||||
|
||||
22, -1000, -1000, 22, 14, -1000, -1000, -1000, -1000, -3,
|
||||
-8, -1000, -1000, -1000, -1000, -7, -1000, -1, -1000, -1000,
|
||||
-15, -1000, -1000, 10, 2, -1000, -1000, -1000, 15, -1000,
|
||||
-1000, 11, -1000, -1000, -1000, -1000, -1000,
|
||||
16, -1000, -1000, 16, 12, -1000, -1000, -1000, -1000, -3,
|
||||
5, -1000, -1000, -1000, -1000, -9, -1000, -4, -1000, -14,
|
||||
-1000, -1000, 0, -1, -1000, -1000, 14, -1000, -1000, 13,
|
||||
-1000, -1000, -1000, -1000, -1000,
|
||||
}
|
||||
var yyPgo = [...]int{
|
||||
|
||||
0, 35, 33, 32, 31, 24, 21, 30, 10,
|
||||
0, 33, 32, 30, 29, 28, 20, 27, 7,
|
||||
}
|
||||
var yyR1 = [...]int{
|
||||
|
||||
0, 6, 7, 7, 8, 3, 3, 4, 4, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 5, 2, 2,
|
||||
1, 1, 1, 1, 1, 5, 2, 2,
|
||||
}
|
||||
var yyR2 = [...]int{
|
||||
|
||||
0, 1, 2, 1, 3, 0, 1, 1, 1, 1,
|
||||
2, 4, 2, 4, 1, 1, 3, 3, 3, 4,
|
||||
5, 4, 5, 4, 5, 4, 5, 2, 0, 1,
|
||||
2, 4, 1, 1, 3, 3, 3, 4, 5, 4,
|
||||
5, 4, 5, 4, 5, 2, 0, 1,
|
||||
}
|
||||
var yyChk = [...]int{
|
||||
|
||||
-1000, -6, -7, -8, -3, -4, 6, 7, -7, -1,
|
||||
4, 12, 5, -2, -5, 9, 16, 8, 17, 12,
|
||||
4, 12, 5, 13, 14, 16, 17, 12, 15, 5,
|
||||
12, 15, 5, 12, 5, 12, 5,
|
||||
4, 12, 5, -2, -5, 9, 16, 8, 12, 4,
|
||||
12, 5, 13, 14, 16, 12, 15, 5, 12, 15,
|
||||
5, 12, 5, 12, 5,
|
||||
}
|
||||
var yyDef = [...]int{
|
||||
|
||||
5, -2, 1, -2, 0, 6, 7, 8, 2, 28,
|
||||
9, 14, 15, 4, 29, 0, 10, 0, 12, 27,
|
||||
16, 17, 18, 0, 0, 11, 13, 19, 0, 23,
|
||||
21, 0, 25, 20, 24, 22, 26,
|
||||
5, -2, 1, -2, 0, 6, 7, 8, 2, 26,
|
||||
9, 12, 13, 4, 27, 0, 10, 0, 25, 14,
|
||||
15, 16, 0, 0, 11, 17, 0, 21, 19, 0,
|
||||
23, 18, 22, 20, 24,
|
||||
}
|
||||
var yyTok1 = [...]int{
|
||||
|
||||
|
@ -132,7 +130,7 @@ var yyTok1 = [...]int{
|
|||
var yyTok2 = [...]int{
|
||||
|
||||
2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
||||
12, 13, 14, 15, 16, 17,
|
||||
12, 13, 14, 15, 16,
|
||||
}
|
||||
var yyTok3 = [...]int{
|
||||
0,
|
||||
|
@ -555,68 +553,46 @@ yydefault:
|
|||
//line query_string.y:101
|
||||
{
|
||||
str := yyDollar[1].s
|
||||
logDebugGrammar("FUZZY STRING - %s", str)
|
||||
fuzziness, _ := strconv.ParseFloat(yyDollar[2].s, 64)
|
||||
logDebugGrammar("FUZZY STRING - %s %f", str, fuzziness)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(1)
|
||||
q.SetFuzziness(int(fuzziness))
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 11:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
//line query_string.y:109
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
str := yyDollar[3].s
|
||||
logDebugGrammar("FIELD - %s FUZZY STRING - %s", field, str)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(1)
|
||||
q.SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 12:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
//line query_string.y:119
|
||||
{
|
||||
str := yyDollar[1].s
|
||||
fuzziness, _ := strconv.ParseFloat(yyDollar[2].s, 64)
|
||||
logDebugGrammar("FUZZY STRING - %s", str)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(int(fuzziness))
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 13:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
//line query_string.y:128
|
||||
//line query_string.y:110
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
str := yyDollar[3].s
|
||||
fuzziness, _ := strconv.ParseFloat(yyDollar[4].s, 64)
|
||||
logDebugGrammar("FIELD - %s FUZZY-%f STRING - %s", field, fuzziness, str)
|
||||
logDebugGrammar("FIELD - %s FUZZY STRING - %s %f", field, str, fuzziness)
|
||||
q := NewMatchQuery(str)
|
||||
q.SetFuzziness(int(fuzziness))
|
||||
q.SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 14:
|
||||
case 12:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
//line query_string.y:139
|
||||
//line query_string.y:121
|
||||
{
|
||||
str := yyDollar[1].s
|
||||
logDebugGrammar("STRING - %s", str)
|
||||
q := NewMatchQuery(str)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 15:
|
||||
case 13:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
//line query_string.y:146
|
||||
//line query_string.y:128
|
||||
{
|
||||
phrase := yyDollar[1].s
|
||||
logDebugGrammar("PHRASE - %s", phrase)
|
||||
q := NewMatchPhraseQuery(phrase)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 16:
|
||||
case 14:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
//line query_string.y:153
|
||||
//line query_string.y:135
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
str := yyDollar[3].s
|
||||
|
@ -632,9 +608,9 @@ yydefault:
|
|||
q.SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 17:
|
||||
case 15:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
//line query_string.y:169
|
||||
//line query_string.y:151
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
str := yyDollar[3].s
|
||||
|
@ -642,9 +618,9 @@ yydefault:
|
|||
q := NewMatchQuery(str).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 18:
|
||||
case 16:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
//line query_string.y:177
|
||||
//line query_string.y:159
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
phrase := yyDollar[3].s
|
||||
|
@ -652,9 +628,9 @@ yydefault:
|
|||
q := NewMatchPhraseQuery(phrase).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 19:
|
||||
case 17:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
//line query_string.y:185
|
||||
//line query_string.y:167
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
min, _ := strconv.ParseFloat(yyDollar[4].s, 64)
|
||||
|
@ -663,9 +639,9 @@ yydefault:
|
|||
q := NewNumericRangeInclusiveQuery(&min, nil, &minInclusive, nil).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 20:
|
||||
case 18:
|
||||
yyDollar = yyS[yypt-5 : yypt+1]
|
||||
//line query_string.y:194
|
||||
//line query_string.y:176
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
min, _ := strconv.ParseFloat(yyDollar[5].s, 64)
|
||||
|
@ -674,9 +650,9 @@ yydefault:
|
|||
q := NewNumericRangeInclusiveQuery(&min, nil, &minInclusive, nil).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 21:
|
||||
case 19:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
//line query_string.y:203
|
||||
//line query_string.y:185
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
max, _ := strconv.ParseFloat(yyDollar[4].s, 64)
|
||||
|
@ -685,9 +661,9 @@ yydefault:
|
|||
q := NewNumericRangeInclusiveQuery(nil, &max, nil, &maxInclusive).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 22:
|
||||
case 20:
|
||||
yyDollar = yyS[yypt-5 : yypt+1]
|
||||
//line query_string.y:212
|
||||
//line query_string.y:194
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
max, _ := strconv.ParseFloat(yyDollar[5].s, 64)
|
||||
|
@ -696,9 +672,9 @@ yydefault:
|
|||
q := NewNumericRangeInclusiveQuery(nil, &max, nil, &maxInclusive).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 23:
|
||||
case 21:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
//line query_string.y:221
|
||||
//line query_string.y:203
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
minInclusive := false
|
||||
|
@ -708,9 +684,9 @@ yydefault:
|
|||
q := NewDateRangeInclusiveQuery(&phrase, nil, &minInclusive, nil).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 24:
|
||||
case 22:
|
||||
yyDollar = yyS[yypt-5 : yypt+1]
|
||||
//line query_string.y:231
|
||||
//line query_string.y:213
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
minInclusive := true
|
||||
|
@ -720,9 +696,9 @@ yydefault:
|
|||
q := NewDateRangeInclusiveQuery(&phrase, nil, &minInclusive, nil).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 25:
|
||||
case 23:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
//line query_string.y:241
|
||||
//line query_string.y:223
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
maxInclusive := false
|
||||
|
@ -732,9 +708,9 @@ yydefault:
|
|||
q := NewDateRangeInclusiveQuery(nil, &phrase, nil, &maxInclusive).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 26:
|
||||
case 24:
|
||||
yyDollar = yyS[yypt-5 : yypt+1]
|
||||
//line query_string.y:251
|
||||
//line query_string.y:233
|
||||
{
|
||||
field := yyDollar[1].s
|
||||
maxInclusive := true
|
||||
|
@ -744,23 +720,23 @@ yydefault:
|
|||
q := NewDateRangeInclusiveQuery(nil, &phrase, nil, &maxInclusive).SetField(field)
|
||||
yyVAL.q = q
|
||||
}
|
||||
case 27:
|
||||
case 25:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
//line query_string.y:262
|
||||
//line query_string.y:244
|
||||
{
|
||||
boost, _ := strconv.ParseFloat(yyDollar[2].s, 64)
|
||||
yyVAL.f = boost
|
||||
logDebugGrammar("BOOST %f", boost)
|
||||
}
|
||||
case 28:
|
||||
case 26:
|
||||
yyDollar = yyS[yypt-0 : yypt+1]
|
||||
//line query_string.y:269
|
||||
//line query_string.y:251
|
||||
{
|
||||
yyVAL.f = 1.0
|
||||
}
|
||||
case 29:
|
||||
case 27:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
//line query_string.y:273
|
||||
//line query_string.y:255
|
||||
{
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user