def eval(self, expr, fname=None, lineno=0):
        """evaluates a single statement"""
        self.fname = fname
        self.lineno = lineno
        self.error = []
        try:
            node = self.parse(expr, fname=fname, lineno=lineno)
        except __HOLE__:
            errmsg = sys.exc_info()[1]
            if len(self.error) > 0:
                errtype, errmsg = self.error[0].get_error()
            return

        out = None
        try:
            return self.run(node, expr=expr, fname=fname, lineno=lineno)
        except RuntimeError:
            return
dataset/ETHPy150Open xraypy/xraylarch/lib/interpreter.py/Interpreter.eval