class Origami::PDF::Instruction

def parse(stream)

def parse(stream)
    operands = []
    while type = Object.typeof(stream, true)
        operands.push type.parse(stream)
    end
    if not stream.eos?
        if stream.scan(/(?<operator>[[:graph:]&&[^\[\]<>()%\/]]+)/).nil?
            raise InvalidPDFInstructionError, "Operator: #{(stream.peek(10) + '...').inspect}"
        end
        operator = stream['operator']
        PDF::Instruction.new(operator, *operands)
    else
        unless operands.empty?
            raise InvalidPDFInstructionError, "No operator given for operands: #{operands.map(&:to_s).join(' ')}"
        end
    end
end