@ ProgramNode (location: (0...10))
├── locals: []
└── statements:
    @ StatementsNode (location: (0...10))
    └── body: (length: 1)
        └── @ ConstantPathOrWriteNode (location: (0...10))
            ├── target:
            │   @ ConstantPathNode (location: (0...4))
            │   ├── parent:
            │   │   @ ConstantReadNode (location: (0...1))
            │   │   └── name: :X
            │   ├── child:
            │   │   @ ConstantReadNode (location: (3...4))
            │   │   └── name: :Y
            │   └── delimiter_loc: (1...3) = "::"
            ├── operator_loc: (5...8) = "||="
            └── value:
                @ IntegerNode (location: (9...10))
                └── flags: decimal
