mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Code Review: Revert.
This commit is contained in:
parent
07ac921aec
commit
2cc666be9d
|
@ -46,6 +46,8 @@ func (lexer *RulesLexer) Lex(lval *yySymType) int {
|
||||||
c, lexer.empty = lexer.getChar(), false
|
c, lexer.empty = lexer.getChar(), false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
yystate0:
|
yystate0:
|
||||||
|
|
||||||
lexer.buf = lexer.buf[:0] // The code before the first rule executed before every scan cycle (rule #0 / state 0 action)
|
lexer.buf = lexer.buf[:0] // The code before the first rule executed before every scan cycle (rule #0 / state 0 action)
|
||||||
|
@ -1507,56 +1509,48 @@ yyrule12: // BY|by
|
||||||
}
|
}
|
||||||
yyrule13: // AVG|SUM|MAX|MIN|COUNT
|
yyrule13: // AVG|SUM|MAX|MIN|COUNT
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()
|
lval.str = lexer.token(); return AGGR_OP
|
||||||
return AGGR_OP
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule14: // avg|sum|max|min|count
|
yyrule14: // avg|sum|max|min|count
|
||||||
{
|
{
|
||||||
lval.str = strings.ToUpper(lexer.token())
|
lval.str = strings.ToUpper(lexer.token()); return AGGR_OP
|
||||||
return AGGR_OP
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule15: // \<|>|AND|OR|and|or
|
yyrule15: // \<|>|AND|OR|and|or
|
||||||
{
|
{
|
||||||
lval.str = strings.ToUpper(lexer.token())
|
lval.str = strings.ToUpper(lexer.token()); return CMP_OP
|
||||||
return CMP_OP
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule16: // ==|!=|>=|<=
|
yyrule16: // ==|!=|>=|<=
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()
|
lval.str = lexer.token(); return CMP_OP
|
||||||
return CMP_OP
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule17: // [+\-]
|
yyrule17: // [+\-]
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()
|
lval.str = lexer.token(); return ADDITIVE_OP
|
||||||
return ADDITIVE_OP
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule18: // [*/%]
|
yyrule18: // [*/%]
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()
|
lval.str = lexer.token(); return MULT_OP
|
||||||
return MULT_OP
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule19: // {D}+{U}
|
yyrule19: // {D}+{U}
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()
|
lval.str = lexer.token(); return DURATION
|
||||||
return DURATION
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule20: // {L}({L}|{D})*
|
yyrule20: // {L}({L}|{D})*
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()
|
lval.str = lexer.token(); return IDENTIFIER
|
||||||
return IDENTIFIER
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule21: // \-?{D}+(\.{D}*)?
|
yyrule21: // \-?{D}+(\.{D}*)?
|
||||||
{
|
{
|
||||||
num, err := strconv.ParseFloat(lexer.token(), 64)
|
num, err := strconv.ParseFloat(lexer.token(), 64);
|
||||||
if err != nil && err.(*strconv.NumError).Err == strconv.ErrSyntax {
|
if (err != nil && err.(*strconv.NumError).Err == strconv.ErrSyntax) {
|
||||||
panic("Invalid float")
|
panic("Invalid float")
|
||||||
}
|
}
|
||||||
lval.num = clientmodel.SampleValue(num)
|
lval.num = clientmodel.SampleValue(num)
|
||||||
|
@ -1564,14 +1558,12 @@ yyrule21: // \-?{D}+(\.{D}*)?
|
||||||
}
|
}
|
||||||
yyrule22: // \"(\\.|[^\\"])*\"
|
yyrule22: // \"(\\.|[^\\"])*\"
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()[1 : len(lexer.token())-1]
|
lval.str = lexer.token()[1:len(lexer.token()) - 1]; return STRING
|
||||||
return STRING
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule23: // \'(\\.|[^\\'])*\'
|
yyrule23: // \'(\\.|[^\\'])*\'
|
||||||
{
|
{
|
||||||
lval.str = lexer.token()[1 : len(lexer.token())-1]
|
lval.str = lexer.token()[1:len(lexer.token()) - 1]; return STRING
|
||||||
return STRING
|
|
||||||
goto yystate0
|
goto yystate0
|
||||||
}
|
}
|
||||||
yyrule24: // [{}\[\]()=,]
|
yyrule24: // [{}\[\]()=,]
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
//line parser.y:15
|
//line parser.y:15
|
||||||
package rules
|
package rules
|
||||||
|
|
||||||
import __yyfmt__ "fmt"
|
import __yyfmt__ "fmt"
|
||||||
|
|
||||||
//line parser.y:15
|
//line parser.y:15
|
||||||
|
|
||||||
import (
|
import (
|
||||||
clientmodel "github.com/prometheus/client_golang/model"
|
clientmodel "github.com/prometheus/client_golang/model"
|
||||||
|
|
||||||
|
@ -70,6 +70,7 @@ const yyMaxDepth = 200
|
||||||
|
|
||||||
//line parser.y:191
|
//line parser.y:191
|
||||||
|
|
||||||
|
|
||||||
//line yacctab:1
|
//line yacctab:1
|
||||||
var yyExca = []int{
|
var yyExca = []int{
|
||||||
-1, 1,
|
-1, 1,
|
||||||
|
@ -406,207 +407,133 @@ yydefault:
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
//line parser.y:69
|
//line parser.y:69
|
||||||
{
|
{ yylex.(*RulesLexer).parsedExpr = yyS[yypt-0].ruleNode }
|
||||||
yylex.(*RulesLexer).parsedExpr = yyS[yypt-0].ruleNode
|
|
||||||
}
|
|
||||||
case 6:
|
case 6:
|
||||||
//line parser.y:73
|
//line parser.y:73
|
||||||
{
|
{
|
||||||
rule, err := CreateRecordingRule(yyS[yypt-3].str, yyS[yypt-2].labelSet, yyS[yypt-0].ruleNode, yyS[yypt-4].boolean)
|
rule, err := CreateRecordingRule(yyS[yypt-3].str, yyS[yypt-2].labelSet, yyS[yypt-0].ruleNode, yyS[yypt-4].boolean)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
yylex.(*RulesLexer).parsedRules = append(yylex.(*RulesLexer).parsedRules, rule)
|
yylex.(*RulesLexer).parsedRules = append(yylex.(*RulesLexer).parsedRules, rule)
|
||||||
}
|
}
|
||||||
case 7:
|
case 7:
|
||||||
//line parser.y:79
|
//line parser.y:79
|
||||||
{
|
{
|
||||||
rule, err := CreateAlertingRule(yyS[yypt-9].str, yyS[yypt-7].ruleNode, yyS[yypt-6].str, yyS[yypt-4].labelSet, yyS[yypt-2].str, yyS[yypt-0].str)
|
rule, err := CreateAlertingRule(yyS[yypt-9].str, yyS[yypt-7].ruleNode, yyS[yypt-6].str, yyS[yypt-4].labelSet, yyS[yypt-2].str, yyS[yypt-0].str)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
yylex.(*RulesLexer).parsedRules = append(yylex.(*RulesLexer).parsedRules, rule)
|
yylex.(*RulesLexer).parsedRules = append(yylex.(*RulesLexer).parsedRules, rule)
|
||||||
}
|
}
|
||||||
case 8:
|
case 8:
|
||||||
//line parser.y:87
|
//line parser.y:87
|
||||||
{
|
{ yyVAL.str = "0s" }
|
||||||
yyVAL.str = "0s"
|
|
||||||
}
|
|
||||||
case 9:
|
case 9:
|
||||||
//line parser.y:89
|
//line parser.y:89
|
||||||
{
|
{ yyVAL.str = yyS[yypt-0].str }
|
||||||
yyVAL.str = yyS[yypt-0].str
|
|
||||||
}
|
|
||||||
case 10:
|
case 10:
|
||||||
//line parser.y:93
|
//line parser.y:93
|
||||||
{
|
{ yyVAL.boolean = false }
|
||||||
yyVAL.boolean = false
|
|
||||||
}
|
|
||||||
case 11:
|
case 11:
|
||||||
//line parser.y:95
|
//line parser.y:95
|
||||||
{
|
{ yyVAL.boolean = true }
|
||||||
yyVAL.boolean = true
|
|
||||||
}
|
|
||||||
case 12:
|
case 12:
|
||||||
//line parser.y:99
|
//line parser.y:99
|
||||||
{
|
{ yyVAL.labelSet = clientmodel.LabelSet{} }
|
||||||
yyVAL.labelSet = clientmodel.LabelSet{}
|
|
||||||
}
|
|
||||||
case 13:
|
case 13:
|
||||||
//line parser.y:101
|
//line parser.y:101
|
||||||
{
|
{ yyVAL.labelSet = yyS[yypt-1].labelSet }
|
||||||
yyVAL.labelSet = yyS[yypt-1].labelSet
|
|
||||||
}
|
|
||||||
case 14:
|
case 14:
|
||||||
//line parser.y:103
|
//line parser.y:103
|
||||||
{
|
{ yyVAL.labelSet = clientmodel.LabelSet{} }
|
||||||
yyVAL.labelSet = clientmodel.LabelSet{}
|
|
||||||
}
|
|
||||||
case 15:
|
case 15:
|
||||||
//line parser.y:106
|
//line parser.y:106
|
||||||
{
|
{ yyVAL.labelSet = yyS[yypt-0].labelSet }
|
||||||
yyVAL.labelSet = yyS[yypt-0].labelSet
|
|
||||||
}
|
|
||||||
case 16:
|
case 16:
|
||||||
//line parser.y:108
|
//line parser.y:108
|
||||||
{
|
{ for k, v := range yyS[yypt-0].labelSet { yyVAL.labelSet[k] = v } }
|
||||||
for k, v := range yyS[yypt-0].labelSet {
|
|
||||||
yyVAL.labelSet[k] = v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case 17:
|
case 17:
|
||||||
//line parser.y:112
|
//line parser.y:112
|
||||||
{
|
{ yyVAL.labelSet = clientmodel.LabelSet{ clientmodel.LabelName(yyS[yypt-2].str): clientmodel.LabelValue(yyS[yypt-0].str) } }
|
||||||
yyVAL.labelSet = clientmodel.LabelSet{clientmodel.LabelName(yyS[yypt-2].str): clientmodel.LabelValue(yyS[yypt-0].str)}
|
|
||||||
}
|
|
||||||
case 18:
|
case 18:
|
||||||
//line parser.y:117
|
//line parser.y:117
|
||||||
{
|
{ yyVAL.ruleNode = yyS[yypt-1].ruleNode }
|
||||||
yyVAL.ruleNode = yyS[yypt-1].ruleNode
|
|
||||||
}
|
|
||||||
case 19:
|
case 19:
|
||||||
//line parser.y:119
|
//line parser.y:119
|
||||||
{
|
{ yyS[yypt-0].labelSet[clientmodel.MetricNameLabel] = clientmodel.LabelValue(yyS[yypt-1].str); yyVAL.ruleNode = ast.NewVectorLiteral(yyS[yypt-0].labelSet) }
|
||||||
yyS[yypt-0].labelSet[clientmodel.MetricNameLabel] = clientmodel.LabelValue(yyS[yypt-1].str)
|
|
||||||
yyVAL.ruleNode = ast.NewVectorLiteral(yyS[yypt-0].labelSet)
|
|
||||||
}
|
|
||||||
case 20:
|
case 20:
|
||||||
//line parser.y:121
|
//line parser.y:121
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewFunctionCall(yyS[yypt-3].str, yyS[yypt-1].ruleNodeSlice)
|
yyVAL.ruleNode, err = NewFunctionCall(yyS[yypt-3].str, yyS[yypt-1].ruleNodeSlice)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 21:
|
case 21:
|
||||||
//line parser.y:127
|
//line parser.y:127
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewFunctionCall(yyS[yypt-2].str, []ast.Node{})
|
yyVAL.ruleNode, err = NewFunctionCall(yyS[yypt-2].str, []ast.Node{})
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 22:
|
case 22:
|
||||||
//line parser.y:133
|
//line parser.y:133
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewMatrix(yyS[yypt-3].ruleNode, yyS[yypt-1].str)
|
yyVAL.ruleNode, err = NewMatrix(yyS[yypt-3].ruleNode, yyS[yypt-1].str)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 23:
|
case 23:
|
||||||
//line parser.y:139
|
//line parser.y:139
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewVectorAggregation(yyS[yypt-4].str, yyS[yypt-2].ruleNode, yyS[yypt-0].labelNameSlice)
|
yyVAL.ruleNode, err = NewVectorAggregation(yyS[yypt-4].str, yyS[yypt-2].ruleNode, yyS[yypt-0].labelNameSlice)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 24:
|
case 24:
|
||||||
//line parser.y:147
|
//line parser.y:147
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewArithExpr(yyS[yypt-1].str, yyS[yypt-2].ruleNode, yyS[yypt-0].ruleNode)
|
yyVAL.ruleNode, err = NewArithExpr(yyS[yypt-1].str, yyS[yypt-2].ruleNode, yyS[yypt-0].ruleNode)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 25:
|
case 25:
|
||||||
//line parser.y:153
|
//line parser.y:153
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewArithExpr(yyS[yypt-1].str, yyS[yypt-2].ruleNode, yyS[yypt-0].ruleNode)
|
yyVAL.ruleNode, err = NewArithExpr(yyS[yypt-1].str, yyS[yypt-2].ruleNode, yyS[yypt-0].ruleNode)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 26:
|
case 26:
|
||||||
//line parser.y:159
|
//line parser.y:159
|
||||||
{
|
{
|
||||||
var err error
|
var err error
|
||||||
yyVAL.ruleNode, err = NewArithExpr(yyS[yypt-1].str, yyS[yypt-2].ruleNode, yyS[yypt-0].ruleNode)
|
yyVAL.ruleNode, err = NewArithExpr(yyS[yypt-1].str, yyS[yypt-2].ruleNode, yyS[yypt-0].ruleNode)
|
||||||
if err != nil {
|
if err != nil { yylex.Error(err.Error()); return 1 }
|
||||||
yylex.Error(err.Error())
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 27:
|
case 27:
|
||||||
//line parser.y:165
|
//line parser.y:165
|
||||||
{
|
{ yyVAL.ruleNode = ast.NewScalarLiteral(yyS[yypt-0].num)}
|
||||||
yyVAL.ruleNode = ast.NewScalarLiteral(yyS[yypt-0].num)
|
|
||||||
}
|
|
||||||
case 28:
|
case 28:
|
||||||
//line parser.y:169
|
//line parser.y:169
|
||||||
{
|
{ yyVAL.labelNameSlice = clientmodel.LabelNames{} }
|
||||||
yyVAL.labelNameSlice = clientmodel.LabelNames{}
|
|
||||||
}
|
|
||||||
case 29:
|
case 29:
|
||||||
//line parser.y:171
|
//line parser.y:171
|
||||||
{
|
{ yyVAL.labelNameSlice = yyS[yypt-1].labelNameSlice }
|
||||||
yyVAL.labelNameSlice = yyS[yypt-1].labelNameSlice
|
|
||||||
}
|
|
||||||
case 30:
|
case 30:
|
||||||
//line parser.y:175
|
//line parser.y:175
|
||||||
{
|
{ yyVAL.labelNameSlice = clientmodel.LabelNames{clientmodel.LabelName(yyS[yypt-0].str)} }
|
||||||
yyVAL.labelNameSlice = clientmodel.LabelNames{clientmodel.LabelName(yyS[yypt-0].str)}
|
|
||||||
}
|
|
||||||
case 31:
|
case 31:
|
||||||
//line parser.y:177
|
//line parser.y:177
|
||||||
{
|
{ yyVAL.labelNameSlice = append(yyVAL.labelNameSlice, clientmodel.LabelName(yyS[yypt-0].str)) }
|
||||||
yyVAL.labelNameSlice = append(yyVAL.labelNameSlice, clientmodel.LabelName(yyS[yypt-0].str))
|
|
||||||
}
|
|
||||||
case 32:
|
case 32:
|
||||||
//line parser.y:181
|
//line parser.y:181
|
||||||
{
|
{ yyVAL.ruleNodeSlice = []ast.Node{yyS[yypt-0].ruleNode} }
|
||||||
yyVAL.ruleNodeSlice = []ast.Node{yyS[yypt-0].ruleNode}
|
|
||||||
}
|
|
||||||
case 33:
|
case 33:
|
||||||
//line parser.y:183
|
//line parser.y:183
|
||||||
{
|
{ yyVAL.ruleNodeSlice = append(yyVAL.ruleNodeSlice, yyS[yypt-0].ruleNode) }
|
||||||
yyVAL.ruleNodeSlice = append(yyVAL.ruleNodeSlice, yyS[yypt-0].ruleNode)
|
|
||||||
}
|
|
||||||
case 34:
|
case 34:
|
||||||
//line parser.y:187
|
//line parser.y:187
|
||||||
{
|
{ yyVAL.ruleNode = yyS[yypt-0].ruleNode }
|
||||||
yyVAL.ruleNode = yyS[yypt-0].ruleNode
|
|
||||||
}
|
|
||||||
case 35:
|
case 35:
|
||||||
//line parser.y:189
|
//line parser.y:189
|
||||||
{
|
{ yyVAL.ruleNode = ast.NewStringLiteral(yyS[yypt-0].str) }
|
||||||
yyVAL.ruleNode = ast.NewStringLiteral(yyS[yypt-0].str)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
goto yystack /* stack new state and value */
|
goto yystack /* stack new state and value */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue