# File lib/journey/gtg/builder.rb, line 102
      def lastpos node
        case node
        when Nodes::Star
          firstpos(node.left)
        when Nodes::Or
          node.children.map { |c| lastpos(c) }.flatten.uniq
        when Nodes::Cat
          if nullable? node.right
            lastpos(node.left) | lastpos(node.right)
          else
            lastpos(node.right)
          end
        when Nodes::Terminal
          nullable?(node) ? [] : [node]
        when Nodes::Unary
          lastpos(node.left)
        else
          raise ArgumentError, 'unknown lastpos: %s' % node.class.name
        end
      end