* binary_op = "||" | "&&" | rel_op | add_op | mul_op . rel_op = "==" | "!=" | "<" | "<=" | ">" | ">=" . add_op = "+" | "-" | "|" | "^" . mul_op = "*" | "/" | "%" | "<<" | ">>" | "&" | "&^" . unary_op = "+" | "-" | "!" | "^" | "*" | "&" | "<-" . */ Create a Binary node @operator = * +
(operator lex.Token, lhArg, rhArg Node)
| 1208 | // @operator = and, or, "is not" |
| 1209 | // @lhArg, rhArg the left, right side of binary |
| 1210 | func NewBinaryNode(operator lex.Token, lhArg, rhArg Node) *BinaryNode { |
| 1211 | //u.Debugf("NewBinaryNode: %v %v %v", lhArg, operator, rhArg) |
| 1212 | return &BinaryNode{Args: []Node{lhArg, rhArg}, Operator: operator} |
| 1213 | } |
| 1214 | func (m *BinaryNode) NodeType() string { return "Binary" } |
| 1215 | func (m *BinaryNode) String() string { |
| 1216 | w := NewDefaultWriter() |