query syntax now accepts floats for boost
This commit is contained in:
parent
78db88897c
commit
680de03e65
@ -9,11 +9,11 @@
|
||||
/^/ { logDebugTokens("BOOST"); return BOOST }
|
||||
/\(/ { logDebugTokens("LPAREN"); return LPAREN }
|
||||
/\)/ { logDebugTokens("RPAREN"); return RPAREN }
|
||||
/-?[0-9]|[1-9][0-9]*/
|
||||
/-?([0-9]|[1-9][0-9]*)(\.[0-9][0-9]*)?/
|
||||
{
|
||||
lval.n,_ = strconv.Atoi(yylex.Text());
|
||||
logDebugTokens("INT - %d", lval.n);
|
||||
return INT
|
||||
lval.f,_ = strconv.ParseFloat(yylex.Text(), 64);
|
||||
logDebugTokens("NUMBER - %f", lval.f);
|
||||
return NUMBER
|
||||
}
|
||||
/[ \t\n]+/ { logDebugTokens("WHITESPACE (count=%d)", len(yylex.Text())) /* eat up whitespace */ }
|
||||
/[^\t\n\f\r :^\+\-]+/ {
|
||||
|
@ -23,65 +23,44 @@ a = make([]family, 1)
|
||||
{
|
||||
var acc [18]bool
|
||||
var fun [18]func(rune) int
|
||||
fun[8] = func(r rune) int {
|
||||
fun[7] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 5
|
||||
case 117: return 6
|
||||
case 47: return 7
|
||||
case 92: return 8
|
||||
case 34: return 9
|
||||
case 114: return 10
|
||||
case 116: return 11
|
||||
case 102: return 12
|
||||
case 98: return 13
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[15] = func(r rune) int {
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 16
|
||||
case 98: return 16
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 16
|
||||
case 65 <= r && r <= 70: return 16
|
||||
case 97 <= r && r <= 102: return 16
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[10] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
@ -89,36 +68,15 @@ fun[10] = func(r rune) int {
|
||||
acc[3] = true
|
||||
fun[3] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 116: return -1
|
||||
case 102: return -1
|
||||
case 98: return -1
|
||||
case 110: return -1
|
||||
case 117: return -1
|
||||
case 47: return -1
|
||||
case 92: return -1
|
||||
case 34: return -1
|
||||
case 114: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return -1
|
||||
case 65 <= r && r <= 70: return -1
|
||||
case 97 <= r && r <= 102: return -1
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 114: return -1
|
||||
case 116: return -1
|
||||
case 92: return -1
|
||||
case 102: return -1
|
||||
case 117: return -1
|
||||
case 116: return -1
|
||||
case 47: return -1
|
||||
case 98: return -1
|
||||
case 110: return -1
|
||||
case 117: return -1
|
||||
case 47: return -1
|
||||
case 92: return -1
|
||||
case 34: return 1
|
||||
case 114: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return -1
|
||||
@ -129,276 +87,318 @@ fun[0] = func(r rune) int {
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[16] = func(r rune) int {
|
||||
fun[9] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 17
|
||||
case 98: return 17
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 17
|
||||
case 65 <= r && r <= 70: return 17
|
||||
case 97 <= r && r <= 102: return 17
|
||||
default: return 4
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[11] = func(r rune) int {
|
||||
fun[8] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[6] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 14
|
||||
case 98: return 14
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 14
|
||||
case 65 <= r && r <= 70: return 14
|
||||
case 97 <= r && r <= 102: return 14
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[7] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[13] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[5] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[17] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[12] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[14] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 15
|
||||
case 98: return 15
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 15
|
||||
case 65 <= r && r <= 70: return 15
|
||||
case 97 <= r && r <= 102: return 15
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
acc[9] = true
|
||||
fun[9] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[4] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 116: return 4
|
||||
case 102: return 4
|
||||
case 98: return 4
|
||||
case 110: return 4
|
||||
case 117: return 4
|
||||
case 47: return 4
|
||||
case 92: return 2
|
||||
case 34: return 3
|
||||
case 114: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[2] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 5
|
||||
case 117: return 6
|
||||
case 47: return 7
|
||||
case 92: return 8
|
||||
case 34: return 9
|
||||
case 114: return 10
|
||||
case 116: return 11
|
||||
case 102: return 12
|
||||
case 98: return 13
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 4
|
||||
case 65 <= r && r <= 70: return 4
|
||||
case 97 <= r && r <= 102: return 4
|
||||
default: return 4
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[17] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[15] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 16
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 16
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 16
|
||||
case 65 <= r && r <= 70: return 16
|
||||
case 97 <= r && r <= 102: return 16
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[14] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 15
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 15
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 15
|
||||
case 65 <= r && r <= 70: return 15
|
||||
case 97 <= r && r <= 102: return 15
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[10] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[12] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 117: return 5
|
||||
case 116: return 6
|
||||
case 47: return 7
|
||||
case 98: return 8
|
||||
case 110: return 9
|
||||
case 114: return 10
|
||||
case 34: return 11
|
||||
case 92: return 12
|
||||
case 102: return 13
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[5] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 92: return 4
|
||||
case 102: return 14
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 14
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 14
|
||||
case 65 <= r && r <= 70: return 14
|
||||
case 97 <= r && r <= 102: return 14
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
acc[11] = true
|
||||
fun[11] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[16] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 17
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
case 47: return 2
|
||||
case 98: return 17
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 17
|
||||
case 65 <= r && r <= 70: return 17
|
||||
case 97 <= r && r <= 102: return 17
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[4] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 117: return 5
|
||||
case 116: return 6
|
||||
case 47: return 7
|
||||
case 98: return 8
|
||||
case 110: return 9
|
||||
case 114: return 10
|
||||
case 34: return 11
|
||||
case 92: return 12
|
||||
case 102: return 13
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 34: return 1
|
||||
case 92: return -1
|
||||
case 102: return -1
|
||||
case 117: return -1
|
||||
case 116: return -1
|
||||
case 47: return -1
|
||||
case 98: return -1
|
||||
case 110: return -1
|
||||
case 114: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return -1
|
||||
case 65 <= r && r <= 70: return -1
|
||||
case 97 <= r && r <= 102: return -1
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[6] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 47: return 2
|
||||
case 98: return 2
|
||||
case 110: return 2
|
||||
case 114: return 2
|
||||
case 34: return 3
|
||||
case 92: return 4
|
||||
case 102: return 2
|
||||
case 117: return 2
|
||||
case 116: return 2
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 57: return 2
|
||||
case 65 <= r && r <= 70: return 2
|
||||
case 97 <= r && r <= 102: return 2
|
||||
default: return 2
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
@ -438,10 +438,9 @@ a0[1].id = 1
|
||||
{
|
||||
var acc [2]bool
|
||||
var fun [2]func(rune) int
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return -1
|
||||
case 45: return 1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -449,9 +448,10 @@ fun[1] = func(r rune) int {
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return 1
|
||||
case 45: return -1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -466,10 +466,9 @@ a0[2].id = 2
|
||||
{
|
||||
var acc [2]bool
|
||||
var fun [2]func(rune) int
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 58: return -1
|
||||
case 58: return 1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -477,9 +476,10 @@ fun[1] = func(r rune) int {
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 58: return 1
|
||||
case 58: return -1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -550,10 +550,9 @@ a0[5].id = 5
|
||||
{
|
||||
var acc [2]bool
|
||||
var fun [2]func(rune) int
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 41: return -1
|
||||
case 41: return 1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -561,9 +560,10 @@ fun[1] = func(r rune) int {
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 41: return 1
|
||||
case 41: return -1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -576,24 +576,12 @@ a0[6].f = fun[:]
|
||||
a0[6].id = 6
|
||||
}
|
||||
{
|
||||
var acc [5]bool
|
||||
var fun [5]func(rune) int
|
||||
acc[4] = true
|
||||
fun[4] = func(r rune) int {
|
||||
var acc [8]bool
|
||||
var fun [8]func(rune) int
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 4
|
||||
case 49 <= r && r <= 57: return 4
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return 1
|
||||
case 46: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 2
|
||||
@ -607,22 +595,25 @@ acc[3] = true
|
||||
fun[3] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return -1
|
||||
case 46: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 4
|
||||
case 49 <= r && r <= 57: return 4
|
||||
case 48 <= r && r <= 48: return 5
|
||||
case 49 <= r && r <= 57: return 5
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[1] = func(r rune) int {
|
||||
acc[5] = true
|
||||
fun[5] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return -1
|
||||
case 46: return 4
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 2
|
||||
case 49 <= r && r <= 57: return 2
|
||||
case 48 <= r && r <= 48: return 5
|
||||
case 49 <= r && r <= 57: return 5
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
@ -631,6 +622,7 @@ fun[1] = func(r rune) int {
|
||||
acc[2] = true
|
||||
fun[2] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 46: return 4
|
||||
case 45: return -1
|
||||
default:
|
||||
switch {
|
||||
@ -641,6 +633,60 @@ fun[2] = func(r rune) int {
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return 1
|
||||
case 46: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 2
|
||||
case 49 <= r && r <= 57: return 3
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
acc[6] = true
|
||||
fun[6] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return -1
|
||||
case 46: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 7
|
||||
case 49 <= r && r <= 57: return 7
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
fun[4] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 45: return -1
|
||||
case 46: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 6
|
||||
case 49 <= r && r <= 57: return 6
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
acc[7] = true
|
||||
fun[7] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 46: return -1
|
||||
case 45: return -1
|
||||
default:
|
||||
switch {
|
||||
case 48 <= r && r <= 48: return 7
|
||||
case 49 <= r && r <= 57: return 7
|
||||
default: return -1
|
||||
}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
a0[7].acc = acc[:]
|
||||
a0[7].f = fun[:]
|
||||
a0[7].id = 7
|
||||
@ -648,11 +694,12 @@ a0[7].id = 7
|
||||
{
|
||||
var acc [2]bool
|
||||
var fun [2]func(rune) int
|
||||
fun[0] = func(r rune) int {
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 9: return 1
|
||||
case 10: return 1
|
||||
case 32: return 1
|
||||
case 10: return 1
|
||||
case 9: return 1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -660,12 +707,11 @@ fun[0] = func(r rune) int {
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 9: return 1
|
||||
case 10: return 1
|
||||
case 32: return 1
|
||||
case 10: return 1
|
||||
default:
|
||||
switch {
|
||||
default: return -1
|
||||
@ -683,15 +729,15 @@ var fun [2]func(rune) int
|
||||
acc[1] = true
|
||||
fun[1] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 58: return -1
|
||||
case 10: return -1
|
||||
case 94: return -1
|
||||
case 32: return -1
|
||||
case 45: return -1
|
||||
case 43: return -1
|
||||
case 9: return -1
|
||||
case 45: return -1
|
||||
case 12: return -1
|
||||
case 13: return -1
|
||||
case 94: return -1
|
||||
case 32: return -1
|
||||
case 58: return -1
|
||||
case 10: return -1
|
||||
default:
|
||||
switch {
|
||||
default: return 1
|
||||
@ -701,15 +747,15 @@ fun[1] = func(r rune) int {
|
||||
}
|
||||
fun[0] = func(r rune) int {
|
||||
switch(r) {
|
||||
case 9: return -1
|
||||
case 45: return -1
|
||||
case 12: return -1
|
||||
case 13: return -1
|
||||
case 58: return -1
|
||||
case 10: return -1
|
||||
case 94: return -1
|
||||
case 32: return -1
|
||||
case 58: return -1
|
||||
case 10: return -1
|
||||
case 45: return -1
|
||||
case 43: return -1
|
||||
case 9: return -1
|
||||
default:
|
||||
switch {
|
||||
default: return 1
|
||||
@ -840,11 +886,11 @@ func (yylex Lexer) Lex(lval *yySymType) int {
|
||||
{ logDebugTokens("LPAREN"); return LPAREN }
|
||||
case 6: //\)/
|
||||
{ logDebugTokens("RPAREN"); return RPAREN }
|
||||
case 7: //-?[0-9]|[1-9][0-9]*/
|
||||
case 7: //-?([0-9]|[1-9][0-9]*)(\.[0-9][0-9]*)?/
|
||||
{
|
||||
lval.n,_ = strconv.Atoi(yylex.Text());
|
||||
logDebugTokens("INT - %d", lval.n);
|
||||
return INT
|
||||
lval.f,_ = strconv.ParseFloat(yylex.Text(), 64);
|
||||
logDebugTokens("NUMBER - %f", lval.f);
|
||||
return NUMBER
|
||||
}
|
||||
case 8: //[ \t\n]+/
|
||||
{ logDebugTokens("WHITESPACE (count=%d)", len(yylex.Text())) /* eat up whitespace */ }
|
||||
|
@ -14,7 +14,7 @@ s string
|
||||
n int
|
||||
f float64}
|
||||
|
||||
%token STRING PHRASE PLUS MINUS COLON BOOST LPAREN RPAREN INT STRING
|
||||
%token STRING PHRASE PLUS MINUS COLON BOOST LPAREN RPAREN NUMBER STRING
|
||||
|
||||
%%
|
||||
|
||||
@ -127,17 +127,17 @@ STRING COLON PHRASE {
|
||||
|
||||
|
||||
searchBoost:
|
||||
BOOST INT {
|
||||
boost := $2.n
|
||||
BOOST NUMBER {
|
||||
boost := $2.f
|
||||
if parsingLastQuery != nil {
|
||||
switch parsingLastQuery := parsingLastQuery.(type) {
|
||||
case *MatchQuery:
|
||||
parsingLastQuery.SetBoost(float64(boost))
|
||||
parsingLastQuery.SetBoost(boost)
|
||||
case *MatchPhraseQuery:
|
||||
parsingLastQuery.SetBoost(float64(boost))
|
||||
parsingLastQuery.SetBoost(boost)
|
||||
}
|
||||
}
|
||||
logDebugGrammar("BOOST %d", boost)
|
||||
logDebugGrammar("BOOST %f", boost)
|
||||
};
|
||||
|
||||
searchSuffix:
|
||||
|
12
y.go
12
y.go
@ -28,7 +28,7 @@ const COLON = 57350
|
||||
const BOOST = 57351
|
||||
const LPAREN = 57352
|
||||
const RPAREN = 57353
|
||||
const INT = 57354
|
||||
const NUMBER = 57354
|
||||
|
||||
var yyToknames = []string{
|
||||
"STRING",
|
||||
@ -39,7 +39,7 @@ var yyToknames = []string{
|
||||
"BOOST",
|
||||
"LPAREN",
|
||||
"RPAREN",
|
||||
"INT",
|
||||
"NUMBER",
|
||||
}
|
||||
var yyStatenames = []string{}
|
||||
|
||||
@ -451,16 +451,16 @@ yydefault:
|
||||
case 13:
|
||||
//line query_syntax.y:130
|
||||
{
|
||||
boost := yyS[yypt-0].n
|
||||
boost := yyS[yypt-0].f
|
||||
if parsingLastQuery != nil {
|
||||
switch parsingLastQuery := parsingLastQuery.(type) {
|
||||
case *MatchQuery:
|
||||
parsingLastQuery.SetBoost(float64(boost))
|
||||
parsingLastQuery.SetBoost(boost)
|
||||
case *MatchPhraseQuery:
|
||||
parsingLastQuery.SetBoost(float64(boost))
|
||||
parsingLastQuery.SetBoost(boost)
|
||||
}
|
||||
}
|
||||
logDebugGrammar("BOOST %d", boost)
|
||||
logDebugGrammar("BOOST %f", boost)
|
||||
}
|
||||
case 14:
|
||||
//line query_syntax.y:144
|
||||
|
Loading…
Reference in New Issue
Block a user