Interactive Interpreter Objects
-------------------------------
`runsource(source[, filename[, symbol]])'
Compile and run some source in the interpreter. Arguments are the
same as for `compile_command()'; the default for FILENAME is
`'<input>'', and for SYMBOL is `'single''. One several things can
happen:
* The input is incorrect; `compile_command()' raised an
exception (`SyntaxError' or `OverflowError'). A syntax
traceback will be printed by calling the `showsyntaxerror()'
method. `runsource()' returns `0'.
* The input is incomplete, and more input is required;
`compile_command()' returned `None'. `runsource()' returns
`1'.
* The input is complete; `compile_command()' returned a code
object. The code is executed by calling the `runcode()'
(which also handles run-time exceptions, except for
`SystemExit'). `runsource()' returns `0'.
The return value can be used to decide whether to use `sys.ps1' or
`sys.ps2' to prompt the next line.
`runcode(code)'
Execute a code object. When an exception occurs,
`showtraceback()' is called to display a traceback. All
exceptions are caught except `SystemExit', which is allowed to
propagate.
A note about `KeyboardInterrupt': this exception may occur
elsewhere in this code, and may not always be caught. The caller
should be prepared to deal with it.
`showsyntaxerror([filename])'
Display the syntax error that just occurred. This does not display
a stack trace because there isn't one for syntax errors. If
FILENAME is given, it is stuffed into the exception instead of the
default filename provided by Python's parser, because it always
uses `'<string>'' when reading from a string. The output is
written by the `write()' method.
`showtraceback()'
Display the exception that just occurred. We remove the first
stack item because it is within the interpreter object
implementation. The output is written by the `write()' method.
`write(data)'
Write a string to the standard error stream (`sys.stderr').
Derived classes should override this to provide the appropriate
output handling as needed.