MCPcopy Create free account
hub / github.com/ForestHubAI/edge-agents / parseComparison

Method parseComparison

go/engine/expr/parser.go:113–156  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

111}
112
113func (p *parser) parseComparison() (Value, error) {
114 left, err := p.parseAddSub()
115 if err != nil {
116 return Value{}, err
117 }
118 for {
119 op := p.peekTwo()
120 switch op {
121 case "<=":
122 p.pos += 2
123 right, err := p.parseAddSub()
124 if err != nil {
125 return Value{}, err
126 }
127 left = BoolVal(compareValues(left, right) <= 0)
128 case ">=":
129 p.pos += 2
130 right, err := p.parseAddSub()
131 if err != nil {
132 return Value{}, err
133 }
134 left = BoolVal(compareValues(left, right) >= 0)
135 default:
136 ch := p.peek()
137 if ch == '<' {
138 p.pos++
139 right, err := p.parseAddSub()
140 if err != nil {
141 return Value{}, err
142 }
143 left = BoolVal(compareValues(left, right) < 0)
144 } else if ch == '>' {
145 p.pos++
146 right, err := p.parseAddSub()
147 if err != nil {
148 return Value{}, err
149 }
150 left = BoolVal(compareValues(left, right) > 0)
151 } else {
152 return left, nil
153 }
154 }
155 }
156}
157
158func (p *parser) parseAddSub() (Value, error) {
159 left, err := p.parseMulDiv()

Callers 1

parseEqualityMethod · 0.95

Calls 5

parseAddSubMethod · 0.95
peekTwoMethod · 0.95
peekMethod · 0.95
BoolValFunction · 0.85
compareValuesFunction · 0.85

Tested by

no test coverage detected