Lines Matching defs:right

96 // Exponentiation (**) is Fortran's only right-associative binary operation.
122 std::function<Expr(Expr &&)> power{[&result](Expr &&right) {
123 return Expr{Expr::Power(std::move(result).value(), std::move(right))};
125 return applyLambda(power, multOperand).Parse(state); // right-recursive
141 std::function<Expr(Expr &&)> multiply{[&result](Expr &&right) {
143 Expr::Multiply(std::move(result).value(), std::move(right))};
145 std::function<Expr(Expr &&)> divide{[&result](Expr &&right) {
146 return Expr{Expr::Divide(std::move(result).value(), std::move(right))};
179 std::function<Expr(Expr &&)> add{[&result](Expr &&right) {
180 return Expr{Expr::Add(std::move(result).value(), std::move(right))};
182 std::function<Expr(Expr &&)> subtract{[&result](Expr &&right) {
184 Expr::Subtract(std::move(result).value(), std::move(right))};
201 // one would never notice if it were right-associated.
209 std::function<Expr(Expr &&)> concat{[&result](Expr &&right) {
210 return Expr{Expr::Concat(std::move(result).value(), std::move(right))};
235 std::function<Expr(Expr &&)> lt{[&result](Expr &&right) {
236 return Expr{Expr::LT(std::move(result).value(), std::move(right))};
238 std::function<Expr(Expr &&)> le{[&result](Expr &&right) {
239 return Expr{Expr::LE(std::move(result).value(), std::move(right))};
241 std::function<Expr(Expr &&)> eq{[&result](Expr &&right) {
242 return Expr{Expr::EQ(std::move(result).value(), std::move(right))};
244 std::function<Expr(Expr &&)> ne{[&result](Expr &&right) {
245 return Expr{Expr::NE(std::move(result).value(), std::move(right))};
247 std::function<Expr(Expr &&)> ge{[&result](Expr &&right) {
248 return Expr{Expr::GE(std::move(result).value(), std::move(right))};
250 std::function<Expr(Expr &&)> gt{[&result](Expr &&right) {
251 return Expr{Expr::GT(std::move(result).value(), std::move(right))};
313 std::function<Expr(Expr &&)> logicalAnd{[&result](Expr &&right) {
314 return Expr{Expr::AND(std::move(result).value(), std::move(right))};
338 std::function<Expr(Expr &&)> logicalOr{[&result](Expr &&right) {
339 return Expr{Expr::OR(std::move(result).value(), std::move(right))};
364 std::function<Expr(Expr &&)> eqv{[&result](Expr &&right) {
365 return Expr{Expr::EQV(std::move(result).value(), std::move(right))};
367 std::function<Expr(Expr &&)> neqv{[&result](Expr &&right) {
368 return Expr{Expr::NEQV(std::move(result).value(), std::move(right))};
393 [&result](DefinedOpName &&op, Expr &&right) {
395 std::move(op), std::move(result).value(), std::move(right))};