parameters: (self, expr)
return_statement: return self._compile_cache[expr]
docstring: Compile a Python-eval-expression.
  
          - Use a compile-cache.
          - Raise a `NameError` if `expr` contains a name beginning with ``_``.
  
          :Returns: the compiled `expr`
          :Exceptions:
              - `SyntaxError`: for compile-errors
              - `NameError`: if expr contains a name beginning with ``_``
docstring_summary: Compile a Python-eval-expression.
docstring_tokens: Compile a Python - eval - expression .
function: def compile(self, expr):
          """Compile a Python-eval-expression.
  
          - Use a compile-cache.
          - Raise a `NameError` if `expr` contains a name beginning with ``_``.
  
          :Returns: the compiled `expr`
          :Exceptions:
              - `SyntaxError`: for compile-errors
              - `NameError`: if expr contains a name beginning with ``_``
          """
          if expr not in self._compile_cache:
              c = compile(expr, "", "eval")
              for i in c.co_names:    #prevent breakout via new-style-classes
                  if i[0] == '_':
                      raise NameError("Name '%s' is not allowed." % i)
              self._compile_cache[expr] = c
          return self._compile_cache[expr]
function_tokens: def compile ( self , expr ) : if expr not in self . _compile_cache : c = compile ( expr , "" , "eval" ) for i in c . co_names : #prevent breakout via new-style-classes if i [ 0 ] == '_' : raise NameError ( "Name '%s' is not allowed." % i ) self . _compile_cache [ expr ] = c return self . _compile_cache [ expr ]