||:@include: lib/rpn.nv |:rewind: yes? :playfield: _ | :behind: _ :: increment playfield size | :rewind: yes? :playfield: (pacman dot) | :behind: _ :: increment playfield size :ahead: pacman :: increment playfield size |:rewind: yes? :playfield: (pacman wall) | :status: done :ahead: (wall pacman) :: increment playfield size :: increment playfield size |:rewind: yes? :playfield: pacman | :ahead: pacman :: increment playfield size |:rewind: yes? :playfield: dot | :ahead: dot :: increment playfield size |:rewind: yes? :playfield: ghost | :ahead: ghost :: increment playfield size |:rewind: yes :playfield: wall | :ahead: wall :: increment playfield size |:: increment playfield size :@rpn data: $id | :playfield size: $id |:: increment playfield size? :playfield size: $id | :@rpn: ($id 1 +) |:: :ahead: wall? :playfield size: $limit | :layout: ahead :full run: $limit | :layout: ahead :ahead: pacman | :playfield: pacman :layout: behind :: decrement playfield size | :layout: ahead? :ahead: $a | :playfield: $a :: decrement playfield size | :layout: behind? :behind: $b | :playfield: $b :: decrement playfield size |:full run: $x |:playfield size: $x |:: decrement playfield size :@rpn data: $id | :playfield size: $id |:: decrement playfield size? :playfield size: $id | :@rpn: ($id 1 -) | :playfield size: 0? :layout: $x :status: done | :rewind: no | :playfield size: 0? :layout: $x | :rewind: yes || :playfield: (_ _ pacman dot dot dot ghost dot wall) || :playfield size: 0 || :rewind: yes