# This file is part of Metasm, the Ruby assembly manipulation suite # Copyright (C) 2006-2010 Yoann GUILLOT # # Licence is LGPL, see LICENCE in the top-level directory require 'metasm/main' module Metasm class Python < CPU def initialize(prog = nil) super() @program = prog @endianness = (prog.respond_to?(:endianness) ? prog.endianness : :little) @size = (prog.respond_to?(:size) ? prog.size : 32) end class Var include Renderable attr_accessor :i def initialize(i); @i = i end def ==(o) o.class == self.class and o.i == i end def symbolic; "var_#{@i}".to_sym end def render ["var_#@i"] end end end end