def evaluate(code, &block)
      begin
        eval code, @binding, &block
      rescue NameError => variable
        Compiler.error :binding, variable, code
      end
    end
def evaluate(code, &block)
      begin
        eval code, @binding, &block
      rescue NameError => variable
        Compiler.error :binding, variable, code
      end
    end
Create a context from the environment binding, extended with the locals
 given as arguments

 @param locals [Hash] Binding extension
 @param block [Binding] Call environment block
 @param content [Binding] Content yielding

 Evaluate ruby code in current context

 @param code [String] Code to be evaluated