node/lib/metasm/metasm/cpu/ia32/compile_c.rb
def c_cexpr_inner(expr)
		case expr
		when ::Integer; Expression[expr]
		when C::Variable; findvar(expr)
		when C::CExpression
			if not expr.lexpr or not expr.rexpr
				inuse c_cexpr_inner_nol(expr)
			else
				inuse c_cexpr_inner_l(expr)
			end
		when C::Label; findvar(C::Variable.new(expr.name, C::Array.new(C::BaseType.new(:void), 1)))
		else puts "ia32/c_ce_i: unsupported #{expr}" if $VERBOSE
		end
	end
# compiles a c expression, returns an Ia32 instruction argument
compiles a c expression, returns an Ia32 instruction argument
compiles a c expression returns an Ia32 instruction argument
def c_cexpr_inner(expr)
		case expr
		when ::Integer; Expression[expr]
		when C::Variable; findvar(expr)
		when C::CExpression
			if not expr.lexpr or not expr.rexpr
				inuse c_cexpr_inner_nol(expr)
			else
				inuse c_cexpr_inner_l(expr)
			end
		when C::Label; findvar(C::Variable.new(expr.name, C::Array.new(C::BaseType.new(:void), 1)))
		else puts "ia32/c_ce_i: unsupported #{expr}" if $VERBOSE
		end
	end
def c_cexpr_inner ( expr ) case expr when :: Integer ; Expression [ expr ] when C :: Variable ; findvar ( expr ) when C :: CExpression if not expr . lexpr or not expr . rexpr inuse c_cexpr_inner_nol ( expr ) else inuse c_cexpr_inner_l ( expr ) end when C :: Label ; findvar ( C :: Variable . new ( expr . name , C :: Array . new ( C :: BaseType . new ( :void ) , 1 ) ) ) else puts "ia32/c_ce_i: unsupported #{expr}" if $VERBOSE end end
compiles a c expression, returns an Ia32 instruction argument
compiles a c expression returns an Ia32 instruction argument
expr