@ ProgramNode (location: (1,0)-(12,11)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(12,11)) └── body: (length: 5) ├── @ NilNode (location: (1,0)-(1,3)) ├── @ ParenthesesNode (location: (3,0)-(3,2)) │ ├── body: ∅ │ ├── opening_loc: (3,0)-(3,1) = "(" │ └── closing_loc: (3,1)-(3,2) = ")" ├── @ ParenthesesNode (location: (5,0)-(8,1)) │ ├── body: ∅ │ ├── opening_loc: (5,0)-(5,1) = "(" │ └── closing_loc: (8,0)-(8,1) = ")" ├── @ PostExecutionNode (location: (10,0)-(10,9)) │ ├── statements: │ │ @ StatementsNode (location: (10,6)-(10,7)) │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (10,6)-(10,7)) │ │ ├── flags: decimal │ │ └── value: 1 │ ├── keyword_loc: (10,0)-(10,3) = "END" │ ├── opening_loc: (10,4)-(10,5) = "{" │ └── closing_loc: (10,8)-(10,9) = "}" └── @ PreExecutionNode (location: (12,0)-(12,11)) ├── statements: │ @ StatementsNode (location: (12,8)-(12,9)) │ └── body: (length: 1) │ └── @ IntegerNode (location: (12,8)-(12,9)) │ ├── flags: decimal │ └── value: 1 ├── keyword_loc: (12,0)-(12,5) = "BEGIN" ├── opening_loc: (12,6)-(12,7) = "{" └── closing_loc: (12,10)-(12,11) = "}"