[Python-Dev] Int literals and method calls

Michael Walter michael.walter at gmail.com
Tue Nov 16 00:07:45 CET 2004


I understand, thanks.

- Michael


On Mon, 15 Nov 2004 21:58:55 +0100, Martin v. Löwis <martin at v.loewis.de> wrote:
> Michael Walter wrote:
> > I think it's inconsistent because it works for "list literals" but not
> > for "integer literals". What do I miss?
> 
> That tokenization works consistently, using the "maximum match"
> strategy.
> 
> If you meant to parse
> 
> 1.__class__
> 
> as "<integer 1>" "." "<identifier __class__>", not as "<float 1.0>"
> "<identifier __class_>", then, for consistency, you should also parse
> the second line of
> 
>    s = 100
>    prints
> 
> as "<keyword print>" "<identifier s>", not as "<identifier prints>".
> Since the latter is certainly undesirable, the former must be
> followed for consistency.
> 
> You easily derive the rule "a space is necessary between keyword
> and identifier" from the second example; you should, for consistency,
> also derive the rule "a space is necessary between an integer
> literal and a dot".
> 
> As for "list literals": The Python grammar calls them "displays",
> not "literals", as they don't (necessarily) denote a literal value,
> e.g. in [1,2,x,y+5].
> 
> Regards,
> Martin
>


More information about the Python-Dev mailing list