IPython Documentation

Table Of Contents

Previous topic

Module: core.builtin_trap

Next topic

Module: core.completer

This Page

Note

This documentation is for a development version of IPython. There may be significant differences from the latest stable release (1.2.1).

Module: core.compilerop

Compiler tools with improved interactive support.

Provides compilation machinery similar to codeop, but with caching support so we can provide interactive tracebacks.

Authors

  • Robert Kern
  • Fernando Perez
  • Thomas Kluyver

1 Class

class IPython.core.compilerop.CachingCompiler

Bases: codeop.Compile

A compiler that caches code compiled from interactive statements.

__init__()
ast_parse(source, filename='<unknown>', symbol='exec')

Parse code to an AST with the current compiler flags active.

Arguments are exactly the same as ast.parse (in the standard library), and are passed to the built-in compile function.

cache(code, number=0)

Make a name for a block of code, and cache the code.

Parameters:

code : str

The Python source code to cache.

number : int

A number which forms part of the code’s name. Used for the execution counter.

Returns:

The name of the cached code (as a string). Pass this as the filename

argument to compilation, so that tracebacks are correctly hooked up.

compiler_flags

Flags currently active in the compilation process.

reset_compiler_flags()

Reset compiler flags to default state.

2 Functions

IPython.core.compilerop.code_name(code, number=0)

Compute a (probably) unique name for code for caching.

This now expects code to be unicode.

IPython.core.compilerop.check_linecache_ipython(*args)

Call linecache.checkcache() safely protecting our cached values.