From 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 6 Jan 2016 20:12:03 +0000 Subject: Vendor import of lldb trunk r256945: https://llvm.org/svn/llvm-project/lldb/trunk@256945 --- .../lldb.embedded_interpreter-pysrc.html | 333 +++++++++++++++++++++ 1 file changed, 333 insertions(+) create mode 100644 www/python_reference/lldb.embedded_interpreter-pysrc.html (limited to 'www/python_reference/lldb.embedded_interpreter-pysrc.html') diff --git a/www/python_reference/lldb.embedded_interpreter-pysrc.html b/www/python_reference/lldb.embedded_interpreter-pysrc.html new file mode 100644 index 0000000000000..62c01eb927133 --- /dev/null +++ b/www/python_reference/lldb.embedded_interpreter-pysrc.html @@ -0,0 +1,333 @@ + + + + + lldb.embedded_interpreter + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Package lldb :: + Module embedded_interpreter + + + + + + +
[hide private]
[frames] | no frames]
+
+

Source Code for Module lldb.embedded_interpreter

+
+  1  import readline 
+  2  import code 
+  3  import sys 
+  4  import traceback 
+  5   
+
6 -class SimpleREPL(code.InteractiveConsole): +
7 - def __init__(self, prompt, dict): +
8 code.InteractiveConsole.__init__(self,dict) + 9 self.prompt = prompt + 10 self.loop_exit = False + 11 self.dict = dict +
12 +
13 - def interact(self): +
14 try: + 15 sys.ps1 + 16 except AttributeError: + 17 sys.ps1 = ">>> " + 18 try: + 19 sys.ps2 + 20 except AttributeError: + 21 sys.ps2 = "... " + 22 + 23 while not self.loop_exit: + 24 try: + 25 self.read_py_command() + 26 except (SystemExit, EOFError): + 27 # EOF while in Python just breaks out to top level. + 28 self.write('\n') + 29 self.loop_exit = True + 30 break + 31 except KeyboardInterrupt: + 32 self.write("\nKeyboardInterrupt\n") + 33 self.resetbuffer() + 34 more = 0 + 35 except: + 36 traceback.print_exc() +
37 +
38 - def process_input (self, in_str): +
39 # Canonicalize the format of the input string + 40 temp_str = in_str + 41 temp_str.strip(' \t') + 42 words = temp_str.split() + 43 temp_str = ('').join(words) + 44 + 45 # Check the input string to see if it was the quit + 46 # command. If so, intercept it, so that it doesn't + 47 # close stdin on us! + 48 if (temp_str.lower() == "quit()" or temp_str.lower() == "exit()"): + 49 self.loop_exit = True + 50 in_str = "raise SystemExit " + 51 return in_str +
52 +
53 - def my_raw_input (self, prompt): +
54 stream = sys.stdout + 55 stream.write (prompt) + 56 stream.flush () + 57 try: + 58 line = sys.stdin.readline() + 59 except KeyboardInterrupt: + 60 line = " \n" + 61 except (SystemExit, EOFError): + 62 line = "quit()\n" + 63 if not line: + 64 raise EOFError + 65 if line[-1] == '\n': + 66 line = line[:-1] + 67 return line +
68 +
69 - def read_py_command(self): +
70 # Read off a complete Python command. + 71 more = 0 + 72 while 1: + 73 if more: + 74 prompt = sys.ps2 + 75 else: + 76 prompt = sys.ps1 + 77 line = self.my_raw_input(prompt) + 78 # Can be None if sys.stdin was redefined + 79 encoding = getattr(sys.stdin, "encoding", None) + 80 if encoding and not isinstance(line, unicode): + 81 line = line.decode(encoding) + 82 line = self.process_input (line) + 83 more = self.push(line) + 84 if not more: + 85 break +
86 +
87 - def one_line (self, input): +
88 line = self.process_input (input) + 89 more = self.push(line) + 90 if more: + 91 self.write ("Input not a complete line.") + 92 self.resetbuffer() + 93 more = 0 +
94 +
95 -def run_python_interpreter (dict): +
96 # Pass in the dictionary, for continuity from one session to the next. + 97 repl = SimpleREPL('>>> ', dict) + 98 repl.interact() +
99 +
100 -def run_one_line (dict, input_string): +
101 repl = SimpleREPL ('', dict) +102 repl.one_line (input_string) +
103 +
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + -- cgit v1.2.3