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.
1 Class
- class IPython.core.compilerop.CachingCompiler
Bases:
CompileA compiler that caches code compiled from interactive statements.
- __init__()
- ast_parse(source: str, filename: str = '<unknown>', symbol: str = 'exec') AST
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(transformed_code: str, number: int = 0, raw_code: str | None = None) str
Make a name for a block of code, and cache the code.
- Parameters:
- 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.
- format_code_name(name: str) tuple[str, str] | None
Return a user-friendly label and name for a code block.
- Parameters:
name (str) – The name for the code block returned from get_code_name
- Return type:
A (label, name) pair that can be used in tracebacks, or None if the default formatting should be used.