Re: progress on new AST
[email protected] (Jeremy Hylton) Thu, 11 Apr 2002 16:15:51 -0400
| Newsgroups | gmane.comp.python.compiler |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "FB" == Finn Bock <[email protected]> writes: FB> [Jerymy] >> I've been working on a new AST defined in ASDL ... FB> Another question: Whats with the Lvalue constructor? It strikes FB> me as a somewhat strange way of describing a 'expr'. Is it just FB> a consequence of some asdl limitation? Are there a reason for FB> having a Lvalue node in the AST? The Lvalue node captures the notion that a limited subset of expressions can occur in two contexts -- as an expression or as the target of an assignment. A single constructor can appear only once; otherwise its type would be ambiguous. Example: Name() can be an expression and the target of an assignment. A ListComp() is an expression, but can not be assigned to. The extra Lvalue() constructor captures the distinction. Jeremy