@ ProgramNode (location: (1,0)-(7,7)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,7)) └── body: (length: 4) ├── @ ArrayNode (location: (1,0)-(1,10)) │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (1,1)-(1,9)) │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,2) = "\"" │ │ ├── content_loc: (1,2)-(1,8) = "\\c\#{1}" │ │ ├── closing_loc: (1,8)-(1,9) = "\"" │ │ └── unescaped: "\u0003{1}" │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (1,9)-(1,10) = "]" ├── @ RegularExpressionNode (location: (3,0)-(3,8)) │ ├── flags: forced_us_ascii_encoding │ ├── opening_loc: (3,0)-(3,1) = "/" │ ├── content_loc: (3,1)-(3,7) = "\\c\#{1}" │ ├── closing_loc: (3,7)-(3,8) = "/" │ └── unescaped: "\\x03{1}" ├── @ StringNode (location: (5,0)-(5,8)) │ ├── flags: ∅ │ ├── opening_loc: (5,0)-(5,1) = "\"" │ ├── content_loc: (5,1)-(5,7) = "\\c\#{1}" │ ├── closing_loc: (5,7)-(5,8) = "\"" │ └── unescaped: "\u0003{1}" └── @ StringNode (location: (7,0)-(7,7)) ├── flags: ∅ ├── opening_loc: (7,0)-(7,7) = "<<~HERE" ├── content_loc: (8,0)-(9,0) = " \\c\#{1}\n" ├── closing_loc: (9,0)-(10,0) = "HERE\n" └── unescaped: "\u0003{1}\n"