@ ProgramNode (location: (1,0)-(93,4))
├── flags: ∅
├── locals: []
└── statements:
    @ StatementsNode (location: (1,0)-(93,4))
    ├── flags: ∅
    └── body: (length: 47)
        ├── @ GlobalVariableReadNode (location: (1,0)-(1,16))
        │   ├── flags: newline
        │   └── name: :$global_variable
        ├── @ GlobalVariableReadNode (location: (3,0)-(3,2))
        │   ├── flags: newline
        │   └── name: :$_
        ├── @ GlobalVariableReadNode (location: (5,0)-(5,3))
        │   ├── flags: newline
        │   └── name: :$-w
        ├── @ GlobalVariableReadNode (location: (7,0)-(7,10))
        │   ├── flags: newline
        │   └── name: :$LOAD_PATH
        ├── @ GlobalVariableReadNode (location: (9,0)-(9,6))
        │   ├── flags: newline
        │   └── name: :$stdin
        ├── @ GlobalVariableReadNode (location: (11,0)-(11,7))
        │   ├── flags: newline
        │   └── name: :$stdout
        ├── @ GlobalVariableReadNode (location: (13,0)-(13,7))
        │   ├── flags: newline
        │   └── name: :$stderr
        ├── @ GlobalVariableReadNode (location: (15,0)-(15,2))
        │   ├── flags: newline
        │   └── name: :$!
        ├── @ GlobalVariableReadNode (location: (17,0)-(17,2))
        │   ├── flags: newline
        │   └── name: :$?
        ├── @ GlobalVariableReadNode (location: (19,0)-(19,2))
        │   ├── flags: newline
        │   └── name: :$~
        ├── @ BackReferenceReadNode (location: (21,0)-(21,2))
        │   ├── flags: newline
        │   └── name: :$&
        ├── @ BackReferenceReadNode (location: (23,0)-(23,2))
        │   ├── flags: newline
        │   └── name: :$`
        ├── @ BackReferenceReadNode (location: (25,0)-(25,2))
        │   ├── flags: newline
        │   └── name: :$'
        ├── @ BackReferenceReadNode (location: (27,0)-(27,2))
        │   ├── flags: newline
        │   └── name: :$+
        ├── @ GlobalVariableReadNode (location: (29,0)-(29,2))
        │   ├── flags: newline
        │   └── name: :$:
        ├── @ GlobalVariableReadNode (location: (31,0)-(31,2))
        │   ├── flags: newline
        │   └── name: :$;
        ├── @ GlobalVariableReadNode (location: (33,0)-(33,2))
        │   ├── flags: newline
        │   └── name: :$,
        ├── @ GlobalVariableReadNode (location: (35,0)-(35,6))
        │   ├── flags: newline
        │   └── name: :$DEBUG
        ├── @ GlobalVariableReadNode (location: (37,0)-(37,9))
        │   ├── flags: newline
        │   └── name: :$FILENAME
        ├── @ GlobalVariableReadNode (location: (39,0)-(39,2))
        │   ├── flags: newline
        │   └── name: :$0
        ├── @ GlobalVariableReadNode (location: (41,0)-(41,3))
        │   ├── flags: newline
        │   └── name: :$-0
        ├── @ GlobalVariableReadNode (location: (43,0)-(43,16))
        │   ├── flags: newline
        │   └── name: :$LOADED_FEATURES
        ├── @ GlobalVariableReadNode (location: (45,0)-(45,8))
        │   ├── flags: newline
        │   └── name: :$VERBOSE
        ├── @ GlobalVariableReadNode (location: (47,0)-(47,3))
        │   ├── flags: newline
        │   └── name: :$-K
        ├── @ SymbolNode (location: (49,0)-(49,17))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (49,0)-(49,1) = ":"
        │   ├── value_loc: (49,1)-(49,17) = "$global_variable"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$global_variable"
        ├── @ SymbolNode (location: (51,0)-(51,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (51,0)-(51,1) = ":"
        │   ├── value_loc: (51,1)-(51,3) = "$_"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$_"
        ├── @ SymbolNode (location: (53,0)-(53,4))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (53,0)-(53,1) = ":"
        │   ├── value_loc: (53,1)-(53,4) = "$-w"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$-w"
        ├── @ SymbolNode (location: (55,0)-(55,11))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (55,0)-(55,1) = ":"
        │   ├── value_loc: (55,1)-(55,11) = "$LOAD_PATH"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$LOAD_PATH"
        ├── @ SymbolNode (location: (57,0)-(57,7))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (57,0)-(57,1) = ":"
        │   ├── value_loc: (57,1)-(57,7) = "$stdin"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$stdin"
        ├── @ SymbolNode (location: (59,0)-(59,8))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (59,0)-(59,1) = ":"
        │   ├── value_loc: (59,1)-(59,8) = "$stdout"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$stdout"
        ├── @ SymbolNode (location: (61,0)-(61,8))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (61,0)-(61,1) = ":"
        │   ├── value_loc: (61,1)-(61,8) = "$stderr"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$stderr"
        ├── @ SymbolNode (location: (63,0)-(63,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (63,0)-(63,1) = ":"
        │   ├── value_loc: (63,1)-(63,3) = "$!"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$!"
        ├── @ SymbolNode (location: (65,0)-(65,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (65,0)-(65,1) = ":"
        │   ├── value_loc: (65,1)-(65,3) = "$?"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$?"
        ├── @ SymbolNode (location: (67,0)-(67,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (67,0)-(67,1) = ":"
        │   ├── value_loc: (67,1)-(67,3) = "$~"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$~"
        ├── @ SymbolNode (location: (69,0)-(69,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (69,0)-(69,1) = ":"
        │   ├── value_loc: (69,1)-(69,3) = "$&"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$&"
        ├── @ SymbolNode (location: (71,0)-(71,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (71,0)-(71,1) = ":"
        │   ├── value_loc: (71,1)-(71,3) = "$`"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$`"
        ├── @ SymbolNode (location: (73,0)-(73,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (73,0)-(73,1) = ":"
        │   ├── value_loc: (73,1)-(73,3) = "$'"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$'"
        ├── @ SymbolNode (location: (75,0)-(75,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (75,0)-(75,1) = ":"
        │   ├── value_loc: (75,1)-(75,3) = "$+"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$+"
        ├── @ SymbolNode (location: (77,0)-(77,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (77,0)-(77,1) = ":"
        │   ├── value_loc: (77,1)-(77,3) = "$:"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$:"
        ├── @ SymbolNode (location: (79,0)-(79,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (79,0)-(79,1) = ":"
        │   ├── value_loc: (79,1)-(79,3) = "$;"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$;"
        ├── @ SymbolNode (location: (81,0)-(81,7))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (81,0)-(81,1) = ":"
        │   ├── value_loc: (81,1)-(81,7) = "$DEBUG"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$DEBUG"
        ├── @ SymbolNode (location: (83,0)-(83,10))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (83,0)-(83,1) = ":"
        │   ├── value_loc: (83,1)-(83,10) = "$FILENAME"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$FILENAME"
        ├── @ SymbolNode (location: (85,0)-(85,3))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (85,0)-(85,1) = ":"
        │   ├── value_loc: (85,1)-(85,3) = "$0"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$0"
        ├── @ SymbolNode (location: (87,0)-(87,4))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (87,0)-(87,1) = ":"
        │   ├── value_loc: (87,1)-(87,4) = "$-0"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$-0"
        ├── @ SymbolNode (location: (89,0)-(89,17))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (89,0)-(89,1) = ":"
        │   ├── value_loc: (89,1)-(89,17) = "$LOADED_FEATURES"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$LOADED_FEATURES"
        ├── @ SymbolNode (location: (91,0)-(91,9))
        │   ├── flags: newline, static_literal, forced_us_ascii_encoding
        │   ├── opening_loc: (91,0)-(91,1) = ":"
        │   ├── value_loc: (91,1)-(91,9) = "$VERBOSE"
        │   ├── closing_loc: ∅
        │   └── unescaped: "$VERBOSE"
        └── @ SymbolNode (location: (93,0)-(93,4))
            ├── flags: newline, static_literal, forced_us_ascii_encoding
            ├── opening_loc: (93,0)-(93,1) = ":"
            ├── value_loc: (93,1)-(93,4) = "$-K"
            ├── closing_loc: ∅
            └── unescaped: "$-K"
