func (n *BinaryOperator) Children() []Node {
	return n.ChildNodes
}
Children returns the child nodes. If this node does not have any children or
this node does not support children it will always return an empty slice.
package ast
type BinaryOperator struct {
	Addr       Address
	Pos        Position
	Type       string
	Type2      string
	IsLvalue   bool
	Operator   string
	ChildNodes []Node
}
func parseBinaryOperator(line string) *BinaryOperator {
	groups := groupsFromRegex(
		`<(?P<position>.*)>
		 '(?P<type1>.*?)'
		(:'(?P<type2>.*?)')?
		(?P<lvalue> lvalue)?
		 '(?P<operator>.*?)'`,
		line,
	)
	return &BinaryOperator{
		Addr:       ParseAddress(groups["address"]),
		Pos:        NewPositionFromString(groups["position"]),
		Type:       groups["type1"],
		Type2:      groups["type2"],
		IsLvalue:   len(groups["lvalue"]) > 0,
		Operator:   groups["operator"],
		ChildNodes: []Node{},
	}
}
func (n *BinaryOperator) AddChild(node Node) {
	n.ChildNodes = append(n.ChildNodes, node)
}
func (n *BinaryOperator) Address() Address {
	return n.Addr
}