(1,0)-(1,4)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ ParenthesesNode (location: (1,0)-(1,4)) ├── body: │ @ StatementsNode (location: (1,1)-(1,3)) │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,1)-(1,3)) │ ├── flags: decimal │ └── value: 42 ├── opening_loc: (1,0)-(1,1) = "(" └── closing_loc: (1,3)-(1,4) = ")" $ ruby -rprism -e 'p Prism.parse("(42").value' @ ProgramNode (location: (1,0)-(1,3)) ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) └── body: (length: 1) └── @ ParenthesesNode (location: (1,0)-(1,3)) ├── body: │ @ StatementsNode (location: (1,1)-(1,3)) │ └── body: (length: 2) │ ├── @ IntegerNode (location: (1,1)-(1,3)) │ │ ├── flags: decimal │ │ └── value: 42 │ └── @ MissingNode (location: (1,1)-(1,3)) ├── opening_loc: (1,0)-(1,1) = "(" └── closing_loc: (1,3)-(1,3) = "" Parse the valid syntax (42) Parse the invalid syntax (42 8IFOQBSTJOHJOWBMJETZOUBY /0&3303PDDVST BOEBMissingNodeJTJOTFSUFEJOTUFBE