chore: upgrade coredns version (#550)

This commit is contained in:
naison
2025-04-19 10:06:56 +08:00
committed by GitHub
parent c42e3475f9
commit c9f1ce6522
1701 changed files with 235209 additions and 29271 deletions

View File

@@ -0,0 +1,69 @@
package operator
type Associativity int
const (
Left Associativity = iota + 1
Right
)
type Operator struct {
Precedence int
Associativity Associativity
}
func Less(a, b string) bool {
return Binary[a].Precedence < Binary[b].Precedence
}
func IsBoolean(op string) bool {
return op == "and" || op == "or" || op == "&&" || op == "||"
}
func AllowedNegateSuffix(op string) bool {
switch op {
case "contains", "matches", "startsWith", "endsWith", "in":
return true
default:
return false
}
}
var Unary = map[string]Operator{
"not": {50, Left},
"!": {50, Left},
"-": {90, Left},
"+": {90, Left},
}
var Binary = map[string]Operator{
"|": {0, Left},
"or": {10, Left},
"||": {10, Left},
"and": {15, Left},
"&&": {15, Left},
"==": {20, Left},
"!=": {20, Left},
"<": {20, Left},
">": {20, Left},
">=": {20, Left},
"<=": {20, Left},
"in": {20, Left},
"matches": {20, Left},
"contains": {20, Left},
"startsWith": {20, Left},
"endsWith": {20, Left},
"..": {25, Left},
"+": {30, Left},
"-": {30, Left},
"*": {60, Left},
"/": {60, Left},
"%": {60, Left},
"**": {100, Right},
"^": {100, Right},
"??": {500, Left},
}
func IsComparison(op string) bool {
return op == "<" || op == ">" || op == ">=" || op == "<="
}