code: def interpret(self, expr):
      top_cg = self.create_code_generator()
  
      self.enqueue_subroutine(self.function_name, expr)
      self.process_subroutine_queue(top_cg)
  
      current_dir = Path(__file__).absolute().parent
  
      if self.with_softmax_expr:
          filename = current_dir / "softmax.r"
          top_cg.prepend_code_lines(get_file_content(filename))
  
      if self.with_sigmoid_expr:
          filename = current_dir / "sigmoid.r"
          top_cg.prepend_code_lines(get_file_content(filename))
  
      return top_cg.finalize_and_get_generated_code()
  
file_path: m2cgen/m2cgen/interpreters/r/interpreter.py
imports: from pathlib import Path
  from m2cgen.interpreters.interpreter import ImperativeToCodeInterpreter
  from m2cgen.interpreters.mixins import BinExpressionDepthTrackingMixin, LinearAlgebraMixin, PowExprInfixMixin, SubroutinesMixin
  from m2cgen.interpreters.r.code_generator import RCodeGenerator
  from m2cgen.interpreters.utils import get_file_content
label_desc: Use image node_id 2 for calling the RInterpreter obj's underlying member method code with example usage: obj.interpret(expr) and returns: top_cg