Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / html / python / lib / module-compiler.ast.html
CommitLineData
920dae64
AT
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4<link rel="STYLESHEET" href="lib.css" type='text/css' />
5<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
6<link rel='start' href='../index.html' title='Python Documentation Index' />
7<link rel="first" href="lib.html" title='Python Library Reference' />
8<link rel='contents' href='contents.html' title="Contents" />
9<link rel='index' href='genindex.html' title='Index' />
10<link rel='last' href='about.html' title='About this document...' />
11<link rel='help' href='about.html' title='About this document...' />
12<link rel="next" href="node794.html" />
13<link rel="prev" href="node792.html" />
14<link rel="parent" href="node792.html" />
15<link rel="next" href="node794.html" />
16<meta name='aesop' content='information' />
17<title>19.3.1 AST Nodes</title>
18</head>
19<body>
20<DIV CLASS="navigation">
21<div id='top-navigation-panel' xml:id='top-navigation-panel'>
22<table align="center" width="100%" cellpadding="0" cellspacing="2">
23<tr>
24<td class='online-navigation'><a rel="prev" title="19.3 Python Abstract Syntax"
25 href="node792.html"><img src='../icons/previous.png'
26 border='0' height='32' alt='Previous Page' width='32' /></A></td>
27<td class='online-navigation'><a rel="parent" title="19.3 Python Abstract Syntax"
28 href="node792.html"><img src='../icons/up.png'
29 border='0' height='32' alt='Up One Level' width='32' /></A></td>
30<td class='online-navigation'><a rel="next" title="19.3.2 Assignment nodes"
31 href="node794.html"><img src='../icons/next.png'
32 border='0' height='32' alt='Next Page' width='32' /></A></td>
33<td align="center" width="100%">Python Library Reference</td>
34<td class='online-navigation'><a rel="contents" title="Table of Contents"
35 href="contents.html"><img src='../icons/contents.png'
36 border='0' height='32' alt='Contents' width='32' /></A></td>
37<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
38 border='0' height='32' alt='Module Index' width='32' /></a></td>
39<td class='online-navigation'><a rel="index" title="Index"
40 href="genindex.html"><img src='../icons/index.png'
41 border='0' height='32' alt='Index' width='32' /></A></td>
42</tr></table>
43<div class='online-navigation'>
44<b class="navlabel">Previous:</b>
45<a class="sectref" rel="prev" href="node792.html">19.3 Python Abstract Syntax</A>
46<b class="navlabel">Up:</b>
47<a class="sectref" rel="parent" href="node792.html">19.3 Python Abstract Syntax</A>
48<b class="navlabel">Next:</b>
49<a class="sectref" rel="next" href="node794.html">19.3.2 Assignment nodes</A>
50</div>
51<hr /></div>
52</DIV>
53<!--End of Navigation Panel-->
54
55<H2><A NAME="SECTION0021310000000000000000">
5619.3.1 AST Nodes</A>
57</H2>
58
59<P>
60<A NAME="module-compiler.ast"></A>
61<P>
62The <tt class="module">compiler.ast</tt> module is generated from a text file that
63describes each node type and its elements. Each node type is
64represented as a class that inherits from the abstract base class
65<tt class="class">compiler.ast.Node</tt> and defines a set of named attributes for
66child nodes.
67
68<P>
69<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
70 <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-5028' xml:id='l2h-5028' class="class">Node</tt></b>(</nobr></td>
71 <td><var></var>)</td></tr></table></dt>
72<dd>
73
74<P>
75The <tt class="class">Node</tt> instances are created automatically by the parser
76 generator. The recommended interface for specific <tt class="class">Node</tt>
77 instances is to use the public attributes to access child nodes. A
78 public attribute may be bound to a single node or to a sequence of
79 nodes, depending on the <tt class="class">Node</tt> type. For example, the
80 <tt class="member">bases</tt> attribute of the <tt class="class">Class</tt> node, is bound to a
81 list of base class nodes, and the <tt class="member">doc</tt> attribute is bound to
82 a single node.
83
84<P>
85Each <tt class="class">Node</tt> instance has a <tt class="member">lineno</tt> attribute which may
86 be <code>None</code>. XXX Not sure what the rules are for which nodes
87 will have a useful lineno.
88</dl>
89
90<P>
91All <tt class="class">Node</tt> objects offer the following methods:
92
93<P>
94<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
95 <td><nobr><b><tt id='l2h-5029' xml:id='l2h-5029' class="method">getChildren</tt></b>(</nobr></td>
96 <td><var></var>)</td></tr></table></dt>
97<dd>
98 Returns a flattened list of the child nodes and objects in the
99 order they occur. Specifically, the order of the nodes is the
100 order in which they appear in the Python grammar. Not all of the
101 children are <tt class="class">Node</tt> instances. The names of functions and
102 classes, for example, are plain strings.
103</dl>
104
105<P>
106<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
107 <td><nobr><b><tt id='l2h-5030' xml:id='l2h-5030' class="method">getChildNodes</tt></b>(</nobr></td>
108 <td><var></var>)</td></tr></table></dt>
109<dd>
110 Returns a flattened list of the child nodes in the order they
111 occur. This method is like <tt class="method">getChildren()</tt>, except that it
112 only returns those children that are <tt class="class">Node</tt> instances.
113</dl>
114
115<P>
116Two examples illustrate the general structure of <tt class="class">Node</tt>
117classes. The <tt class="keyword">while</tt> statement is defined by the following
118grammar production:
119
120<P>
121<div class="verbatim"><pre>
122while_stmt: "while" expression ":" suite
123 ["else" ":" suite]
124</pre></div>
125
126<P>
127The <tt class="class">While</tt> node has three attributes: <tt class="member">test</tt>,
128<tt class="member">body</tt>, and <tt class="member">else_</tt>. (If the natural name for an
129attribute is also a Python reserved word, it can't be used as an
130attribute name. An underscore is appended to the word to make it a
131legal identifier, hence <tt class="member">else_</tt> instead of <tt class="keyword">else</tt>.)
132
133<P>
134The <tt class="keyword">if</tt> statement is more complicated because it can include
135several tests.
136
137<P>
138<div class="verbatim"><pre>
139if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
140</pre></div>
141
142<P>
143The <tt class="class">If</tt> node only defines two attributes: <tt class="member">tests</tt> and
144<tt class="member">else_</tt>. The <tt class="member">tests</tt> attribute is a sequence of test
145expression, consequent body pairs. There is one pair for each
146<tt class="keyword">if</tt>/<tt class="keyword">elif</tt> clause. The first element of the pair is
147the test expression. The second elements is a <tt class="class">Stmt</tt> node that
148contains the code to execute if the test is true.
149
150<P>
151The <tt class="method">getChildren()</tt> method of <tt class="class">If</tt> returns a flat list of
152child nodes. If there are three <tt class="keyword">if</tt>/<tt class="keyword">elif</tt> clauses
153and no <tt class="keyword">else</tt> clause, then <tt class="method">getChildren()</tt> will return
154a list of six elements: the first test expression, the first
155<tt class="class">Stmt</tt>, the second text expression, etc.
156
157<P>
158The following table lists each of the <tt class="class">Node</tt> subclasses defined
159in <tt class="module">compiler.ast</tt> and each of the public attributes available
160on their instances. The values of most of the attributes are
161themselves <tt class="class">Node</tt> instances or sequences of instances. When the
162value is something other than an instance, the type is noted in the
163comment. The attributes are listed in the order in which they are
164returned by <tt class="method">getChildren()</tt> and <tt class="method">getChildNodes()</tt>.
165
166<P>
167<div class="center"><table class="realtable">
168 <thead>
169 <tr>
170 <th class="left" >Node type</th>
171 <th>Attribute</th>
172 <th>Value</th>
173 </tr>
174 </thead>
175 <tbody>
176<P>
177
178 <tr><td class="left" valign="baseline"><tt class="class">Add</tt></td>
179 <td><tt class="member">left</tt></td>
180 <td>left operand</td></tr>
181 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
182 <td><tt class="member">right</tt></td>
183 <td>right operand</td></tr>
184
185<P>
186
187 <tr><td class="left" valign="baseline"><tt class="class">And</tt></td>
188 <td><tt class="member">nodes</tt></td>
189 <td>list of operands</td></tr>
190
191<P>
192
193 <tr><td class="left" valign="baseline"><tt class="class">AssAttr</tt></td>
194 <td></td>
195 <td><em>attribute as target of assignment</em></td></tr>
196 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
197 <td><tt class="member">expr</tt></td>
198 <td>expression on the left-hand side of the dot</td></tr>
199 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
200 <td><tt class="member">attrname</tt></td>
201 <td>the attribute name, a string</td></tr>
202 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
203 <td><tt class="member">flags</tt></td>
204 <td>XXX</td></tr>
205
206<P>
207
208 <tr><td class="left" valign="baseline"><tt class="class">AssList</tt></td>
209 <td><tt class="member">nodes</tt></td>
210 <td>list of list elements being assigned to</td></tr>
211
212<P>
213
214 <tr><td class="left" valign="baseline"><tt class="class">AssName</tt></td>
215 <td><tt class="member">name</tt></td>
216 <td>name being assigned to</td></tr>
217 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
218 <td><tt class="member">flags</tt></td>
219 <td>XXX</td></tr>
220
221<P>
222
223 <tr><td class="left" valign="baseline"><tt class="class">AssTuple</tt></td>
224 <td><tt class="member">nodes</tt></td>
225 <td>list of tuple elements being assigned to</td></tr>
226
227<P>
228
229 <tr><td class="left" valign="baseline"><tt class="class">Assert</tt></td>
230 <td><tt class="member">test</tt></td>
231 <td>the expression to be tested</td></tr>
232 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
233 <td><tt class="member">fail</tt></td>
234 <td>the value of the <tt class="exception">AssertionError</tt></td></tr>
235
236<P>
237
238 <tr><td class="left" valign="baseline"><tt class="class">Assign</tt></td>
239 <td><tt class="member">nodes</tt></td>
240 <td>a list of assignment targets, one per equal sign</td></tr>
241 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
242 <td><tt class="member">expr</tt></td>
243 <td>the value being assigned</td></tr>
244
245<P>
246
247 <tr><td class="left" valign="baseline"><tt class="class">AugAssign</tt></td>
248 <td><tt class="member">node</tt></td>
249 <td></td></tr>
250 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
251 <td><tt class="member">op</tt></td>
252 <td></td></tr>
253 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
254 <td><tt class="member">expr</tt></td>
255 <td></td></tr>
256
257<P>
258
259 <tr><td class="left" valign="baseline"><tt class="class">Backquote</tt></td>
260 <td><tt class="member">expr</tt></td>
261 <td></td></tr>
262
263<P>
264
265 <tr><td class="left" valign="baseline"><tt class="class">Bitand</tt></td>
266 <td><tt class="member">nodes</tt></td>
267 <td></td></tr>
268
269<P>
270
271 <tr><td class="left" valign="baseline"><tt class="class">Bitor</tt></td>
272 <td><tt class="member">nodes</tt></td>
273 <td></td></tr>
274
275<P>
276
277 <tr><td class="left" valign="baseline"><tt class="class">Bitxor</tt></td>
278 <td><tt class="member">nodes</tt></td>
279 <td></td></tr>
280
281<P>
282
283 <tr><td class="left" valign="baseline"><tt class="class">Break</tt></td>
284 <td></td>
285 <td></td></tr>
286
287<P>
288
289 <tr><td class="left" valign="baseline"><tt class="class">CallFunc</tt></td>
290 <td><tt class="member">node</tt></td>
291 <td>expression for the callee</td></tr>
292 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
293 <td><tt class="member">args</tt></td>
294 <td>a list of arguments</td></tr>
295 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
296 <td><tt class="member">star_args</tt></td>
297 <td>the extended *-arg value</td></tr>
298 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
299 <td><tt class="member">dstar_args</tt></td>
300 <td>the extended **-arg value</td></tr>
301
302<P>
303
304 <tr><td class="left" valign="baseline"><tt class="class">Class</tt></td>
305 <td><tt class="member">name</tt></td>
306 <td>the name of the class, a string</td></tr>
307 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
308 <td><tt class="member">bases</tt></td>
309 <td>a list of base classes</td></tr>
310 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
311 <td><tt class="member">doc</tt></td>
312 <td>doc string, a string or <code>None</code></td></tr>
313 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
314 <td><tt class="member">code</tt></td>
315 <td>the body of the class statement</td></tr>
316
317<P>
318
319 <tr><td class="left" valign="baseline"><tt class="class">Compare</tt></td>
320 <td><tt class="member">expr</tt></td>
321 <td></td></tr>
322 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
323 <td><tt class="member">ops</tt></td>
324 <td></td></tr>
325
326<P>
327
328 <tr><td class="left" valign="baseline"><tt class="class">Const</tt></td>
329 <td><tt class="member">value</tt></td>
330 <td></td></tr>
331
332<P>
333
334 <tr><td class="left" valign="baseline"><tt class="class">Continue</tt></td>
335 <td></td>
336 <td></td></tr>
337
338<P>
339
340 <tr><td class="left" valign="baseline"><tt class="class">Decorators</tt></td>
341 <td><tt class="member">nodes</tt></td>
342 <td>List of function decorator expressions</td></tr>
343
344<P>
345
346 <tr><td class="left" valign="baseline"><tt class="class">Dict</tt></td>
347 <td><tt class="member">items</tt></td>
348 <td></td></tr>
349
350<P>
351
352 <tr><td class="left" valign="baseline"><tt class="class">Discard</tt></td>
353 <td><tt class="member">expr</tt></td>
354 <td></td></tr>
355
356<P>
357
358 <tr><td class="left" valign="baseline"><tt class="class">Div</tt></td>
359 <td><tt class="member">left</tt></td>
360 <td></td></tr>
361 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
362 <td><tt class="member">right</tt></td>
363 <td></td></tr>
364
365<P>
366
367 <tr><td class="left" valign="baseline"><tt class="class">Ellipsis</tt></td>
368 <td></td>
369 <td></td></tr>
370
371<P>
372
373 <tr><td class="left" valign="baseline"><tt class="class">Exec</tt></td>
374 <td><tt class="member">expr</tt></td>
375 <td></td></tr>
376 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
377 <td><tt class="member">locals</tt></td>
378 <td></td></tr>
379 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
380 <td><tt class="member">globals</tt></td>
381 <td></td></tr>
382
383<P>
384
385 <tr><td class="left" valign="baseline"><tt class="class">For</tt></td>
386 <td><tt class="member">assign</tt></td>
387 <td></td></tr>
388 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
389 <td><tt class="member">list</tt></td>
390 <td></td></tr>
391 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
392 <td><tt class="member">body</tt></td>
393 <td></td></tr>
394 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
395 <td><tt class="member">else_</tt></td>
396 <td></td></tr>
397
398<P>
399
400 <tr><td class="left" valign="baseline"><tt class="class">From</tt></td>
401 <td><tt class="member">modname</tt></td>
402 <td></td></tr>
403 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
404 <td><tt class="member">names</tt></td>
405 <td></td></tr>
406
407<P>
408
409 <tr><td class="left" valign="baseline"><tt class="class">Function</tt></td>
410 <td><tt class="member">decorators</tt></td>
411 <td><tt class="class">Decorators</tt> or <code>None</code></td></tr>
412 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
413 <td><tt class="member">name</tt></td>
414 <td>name used in def, a string</td></tr>
415 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
416 <td><tt class="member">argnames</tt></td>
417 <td>list of argument names, as strings</td></tr>
418 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
419 <td><tt class="member">defaults</tt></td>
420 <td>list of default values</td></tr>
421 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
422 <td><tt class="member">flags</tt></td>
423 <td>xxx</td></tr>
424 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
425 <td><tt class="member">doc</tt></td>
426 <td>doc string, a string or <code>None</code></td></tr>
427 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
428 <td><tt class="member">code</tt></td>
429 <td>the body of the function</td></tr>
430
431<P>
432
433 <tr><td class="left" valign="baseline"><tt class="class">Getattr</tt></td>
434 <td><tt class="member">expr</tt></td>
435 <td></td></tr>
436 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
437 <td><tt class="member">attrname</tt></td>
438 <td></td></tr>
439
440<P>
441
442 <tr><td class="left" valign="baseline"><tt class="class">Global</tt></td>
443 <td><tt class="member">names</tt></td>
444 <td></td></tr>
445
446<P>
447
448 <tr><td class="left" valign="baseline"><tt class="class">If</tt></td>
449 <td><tt class="member">tests</tt></td>
450 <td></td></tr>
451 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
452 <td><tt class="member">else_</tt></td>
453 <td></td></tr>
454
455<P>
456
457 <tr><td class="left" valign="baseline"><tt class="class">Import</tt></td>
458 <td><tt class="member">names</tt></td>
459 <td></td></tr>
460
461<P>
462
463 <tr><td class="left" valign="baseline"><tt class="class">Invert</tt></td>
464 <td><tt class="member">expr</tt></td>
465 <td></td></tr>
466
467<P>
468
469 <tr><td class="left" valign="baseline"><tt class="class">Keyword</tt></td>
470 <td><tt class="member">name</tt></td>
471 <td></td></tr>
472 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
473 <td><tt class="member">expr</tt></td>
474 <td></td></tr>
475
476<P>
477
478 <tr><td class="left" valign="baseline"><tt class="class">Lambda</tt></td>
479 <td><tt class="member">argnames</tt></td>
480 <td></td></tr>
481 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
482 <td><tt class="member">defaults</tt></td>
483 <td></td></tr>
484 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
485 <td><tt class="member">flags</tt></td>
486 <td></td></tr>
487 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
488 <td><tt class="member">code</tt></td>
489 <td></td></tr>
490
491<P>
492
493 <tr><td class="left" valign="baseline"><tt class="class">LeftShift</tt></td>
494 <td><tt class="member">left</tt></td>
495 <td></td></tr>
496 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
497 <td><tt class="member">right</tt></td>
498 <td></td></tr>
499
500<P>
501
502 <tr><td class="left" valign="baseline"><tt class="class">List</tt></td>
503 <td><tt class="member">nodes</tt></td>
504 <td></td></tr>
505
506<P>
507
508 <tr><td class="left" valign="baseline"><tt class="class">ListComp</tt></td>
509 <td><tt class="member">expr</tt></td>
510 <td></td></tr>
511 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
512 <td><tt class="member">quals</tt></td>
513 <td></td></tr>
514
515<P>
516
517 <tr><td class="left" valign="baseline"><tt class="class">ListCompFor</tt></td>
518 <td><tt class="member">assign</tt></td>
519 <td></td></tr>
520 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
521 <td><tt class="member">list</tt></td>
522 <td></td></tr>
523 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
524 <td><tt class="member">ifs</tt></td>
525 <td></td></tr>
526
527<P>
528
529 <tr><td class="left" valign="baseline"><tt class="class">ListCompIf</tt></td>
530 <td><tt class="member">test</tt></td>
531 <td></td></tr>
532
533<P>
534
535 <tr><td class="left" valign="baseline"><tt class="class">Mod</tt></td>
536 <td><tt class="member">left</tt></td>
537 <td></td></tr>
538 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
539 <td><tt class="member">right</tt></td>
540 <td></td></tr>
541
542<P>
543
544 <tr><td class="left" valign="baseline"><tt class="class">Module</tt></td>
545 <td><tt class="member">doc</tt></td>
546 <td>doc string, a string or <code>None</code></td></tr>
547 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
548 <td><tt class="member">node</tt></td>
549 <td>body of the module, a <tt class="class">Stmt</tt></td></tr>
550
551<P>
552
553 <tr><td class="left" valign="baseline"><tt class="class">Mul</tt></td>
554 <td><tt class="member">left</tt></td>
555 <td></td></tr>
556 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
557 <td><tt class="member">right</tt></td>
558 <td></td></tr>
559
560<P>
561
562 <tr><td class="left" valign="baseline"><tt class="class">Name</tt></td>
563 <td><tt class="member">name</tt></td>
564 <td></td></tr>
565
566<P>
567
568 <tr><td class="left" valign="baseline"><tt class="class">Not</tt></td>
569 <td><tt class="member">expr</tt></td>
570 <td></td></tr>
571
572<P>
573
574 <tr><td class="left" valign="baseline"><tt class="class">Or</tt></td>
575 <td><tt class="member">nodes</tt></td>
576 <td></td></tr>
577
578<P>
579
580 <tr><td class="left" valign="baseline"><tt class="class">Pass</tt></td>
581 <td></td>
582 <td></td></tr>
583
584<P>
585
586 <tr><td class="left" valign="baseline"><tt class="class">Power</tt></td>
587 <td><tt class="member">left</tt></td>
588 <td></td></tr>
589 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
590 <td><tt class="member">right</tt></td>
591 <td></td></tr>
592
593<P>
594
595 <tr><td class="left" valign="baseline"><tt class="class">Print</tt></td>
596 <td><tt class="member">nodes</tt></td>
597 <td></td></tr>
598 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
599 <td><tt class="member">dest</tt></td>
600 <td></td></tr>
601
602<P>
603
604 <tr><td class="left" valign="baseline"><tt class="class">Printnl</tt></td>
605 <td><tt class="member">nodes</tt></td>
606 <td></td></tr>
607 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
608 <td><tt class="member">dest</tt></td>
609 <td></td></tr>
610
611<P>
612
613 <tr><td class="left" valign="baseline"><tt class="class">Raise</tt></td>
614 <td><tt class="member">expr1</tt></td>
615 <td></td></tr>
616 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
617 <td><tt class="member">expr2</tt></td>
618 <td></td></tr>
619 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
620 <td><tt class="member">expr3</tt></td>
621 <td></td></tr>
622
623<P>
624
625 <tr><td class="left" valign="baseline"><tt class="class">Return</tt></td>
626 <td><tt class="member">value</tt></td>
627 <td></td></tr>
628
629<P>
630
631 <tr><td class="left" valign="baseline"><tt class="class">RightShift</tt></td>
632 <td><tt class="member">left</tt></td>
633 <td></td></tr>
634 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
635 <td><tt class="member">right</tt></td>
636 <td></td></tr>
637
638<P>
639
640 <tr><td class="left" valign="baseline"><tt class="class">Slice</tt></td>
641 <td><tt class="member">expr</tt></td>
642 <td></td></tr>
643 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
644 <td><tt class="member">flags</tt></td>
645 <td></td></tr>
646 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
647 <td><tt class="member">lower</tt></td>
648 <td></td></tr>
649 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
650 <td><tt class="member">upper</tt></td>
651 <td></td></tr>
652
653<P>
654
655 <tr><td class="left" valign="baseline"><tt class="class">Sliceobj</tt></td>
656 <td><tt class="member">nodes</tt></td>
657 <td>list of statements</td></tr>
658
659<P>
660
661 <tr><td class="left" valign="baseline"><tt class="class">Stmt</tt></td>
662 <td><tt class="member">nodes</tt></td>
663 <td></td></tr>
664
665<P>
666
667 <tr><td class="left" valign="baseline"><tt class="class">Sub</tt></td>
668 <td><tt class="member">left</tt></td>
669 <td></td></tr>
670 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
671 <td><tt class="member">right</tt></td>
672 <td></td></tr>
673
674<P>
675
676 <tr><td class="left" valign="baseline"><tt class="class">Subscript</tt></td>
677 <td><tt class="member">expr</tt></td>
678 <td></td></tr>
679 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
680 <td><tt class="member">flags</tt></td>
681 <td></td></tr>
682 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
683 <td><tt class="member">subs</tt></td>
684 <td></td></tr>
685
686<P>
687
688 <tr><td class="left" valign="baseline"><tt class="class">TryExcept</tt></td>
689 <td><tt class="member">body</tt></td>
690 <td></td></tr>
691 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
692 <td><tt class="member">handlers</tt></td>
693 <td></td></tr>
694 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
695 <td><tt class="member">else_</tt></td>
696 <td></td></tr>
697
698<P>
699
700 <tr><td class="left" valign="baseline"><tt class="class">TryFinally</tt></td>
701 <td><tt class="member">body</tt></td>
702 <td></td></tr>
703 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
704 <td><tt class="member">final</tt></td>
705 <td></td></tr>
706
707<P>
708
709 <tr><td class="left" valign="baseline"><tt class="class">Tuple</tt></td>
710 <td><tt class="member">nodes</tt></td>
711 <td></td></tr>
712
713<P>
714
715 <tr><td class="left" valign="baseline"><tt class="class">UnaryAdd</tt></td>
716 <td><tt class="member">expr</tt></td>
717 <td></td></tr>
718
719<P>
720
721 <tr><td class="left" valign="baseline"><tt class="class">UnarySub</tt></td>
722 <td><tt class="member">expr</tt></td>
723 <td></td></tr>
724
725<P>
726
727 <tr><td class="left" valign="baseline"><tt class="class">While</tt></td>
728 <td><tt class="member">test</tt></td>
729 <td></td></tr>
730 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
731 <td><tt class="member">body</tt></td>
732 <td></td></tr>
733 <tr><td class="left" valign="baseline"><tt class="class"></tt></td>
734 <td><tt class="member">else_</tt></td>
735 <td></td></tr>
736
737<P>
738
739 <tr><td class="left" valign="baseline"><tt class="class">Yield</tt></td>
740 <td><tt class="member">value</tt></td>
741 <td></td></tr>
742
743<P>
744
745 </tbody>
746</table></div>
747
748<P>
749
750<DIV CLASS="navigation">
751<div class='online-navigation'>
752<p></p><hr />
753<table align="center" width="100%" cellpadding="0" cellspacing="2">
754<tr>
755<td class='online-navigation'><a rel="prev" title="19.3 Python Abstract Syntax"
756 href="node792.html"><img src='../icons/previous.png'
757 border='0' height='32' alt='Previous Page' width='32' /></A></td>
758<td class='online-navigation'><a rel="parent" title="19.3 Python Abstract Syntax"
759 href="node792.html"><img src='../icons/up.png'
760 border='0' height='32' alt='Up One Level' width='32' /></A></td>
761<td class='online-navigation'><a rel="next" title="19.3.2 Assignment nodes"
762 href="node794.html"><img src='../icons/next.png'
763 border='0' height='32' alt='Next Page' width='32' /></A></td>
764<td align="center" width="100%">Python Library Reference</td>
765<td class='online-navigation'><a rel="contents" title="Table of Contents"
766 href="contents.html"><img src='../icons/contents.png'
767 border='0' height='32' alt='Contents' width='32' /></A></td>
768<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
769 border='0' height='32' alt='Module Index' width='32' /></a></td>
770<td class='online-navigation'><a rel="index" title="Index"
771 href="genindex.html"><img src='../icons/index.png'
772 border='0' height='32' alt='Index' width='32' /></A></td>
773</tr></table>
774<div class='online-navigation'>
775<b class="navlabel">Previous:</b>
776<a class="sectref" rel="prev" href="node792.html">19.3 Python Abstract Syntax</A>
777<b class="navlabel">Up:</b>
778<a class="sectref" rel="parent" href="node792.html">19.3 Python Abstract Syntax</A>
779<b class="navlabel">Next:</b>
780<a class="sectref" rel="next" href="node794.html">19.3.2 Assignment nodes</A>
781</div>
782</div>
783<hr />
784<span class="release-info">Release 2.4.2, documentation updated on 28 September 2005.</span>
785</DIV>
786<!--End of Navigation Panel-->
787<ADDRESS>
788See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
789</ADDRESS>
790</BODY>
791</HTML>