Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: n00b question on spacing

Reply
Thread Tools

Re: n00b question on spacing

 
 
Mark Janssen
Guest
Posts: n/a
 
      06-22-2013
> Also remember when entering long lines of text that strings concatenate
> within parenthesis.
> So,
> ("a, b, c"
> "d, e, f"
> "g, h, i")
>
> Is the same as ("a, b, cd, e, fg, h, i")


There was a recent discussion about this (under "implicit string
concatenation"). It seems this is a part of the python language
specification that was simply undefined. (A rule probably should be
added to the lexer to make this explicit.)

--
MarkJ
Tacoma, Washington
 
Reply With Quote
 
 
 
 
alex23
Guest
Posts: n/a
 
      06-24-2013
On 23/06/2013 3:43 AM, Mark Janssen wrote:
> There was a recent discussion about this (under "implicit string
> concatenation"). It seems this is a part of the python language
> specification that was simply undefined.


It's part of the language reference, not an accidental artifact:
http://docs.python.org/2/reference/l...-concatenation

 
Reply With Quote
 
 
 
 
Mark Janssen
Guest
Posts: n/a
 
      06-25-2013
On Mon, Jun 24, 2013 at 4:48 PM, alex23 <(E-Mail Removed)> wrote:
> On 23/06/2013 3:43 AM, Mark Janssen wrote:
>>
>> There was a recent discussion about this (under "implicit string
>> concatenation"). It seems this is a part of the python language
>> specification that was simply undefined.

>
>
> It's part of the language reference, not an accidental artifact:
> http://docs.python.org/2/reference/l...-concatenation


When I say "specification", I mean "specified in the formal notation"
(BNF, etc). "whitespace" is not defined (otherwise there would be a
line in the token list for "linefeed" and "carriagereturn".

--
MarkJ
Tacoma, Washington
 
Reply With Quote
 
Robert Kern
Guest
Posts: n/a
 
      06-25-2013
On 2013-06-25 01:22, Mark Janssen wrote:
> On Mon, Jun 24, 2013 at 4:48 PM, alex23 <(E-Mail Removed)> wrote:
>> On 23/06/2013 3:43 AM, Mark Janssen wrote:
>>>
>>> There was a recent discussion about this (under "implicit string
>>> concatenation"). It seems this is a part of the python language
>>> specification that was simply undefined.

>>
>>
>> It's part of the language reference, not an accidental artifact:
>> http://docs.python.org/2/reference/l...-concatenation

>
> When I say "specification", I mean "specified in the formal notation"
> (BNF, etc).


There is quite a bit of Python's lexical analysis that is specified in places
other than the formal notation. That does not mean it is undefined. It is well
defined in the lexer code and the documentation. You suggest that a "rule
probably should be added to the lexer to make this explicit." That is not
necessary. The rule is already there.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

 
Reply With Quote
 
Chris Angelico
Guest
Posts: n/a
 
      06-25-2013
On Tue, Jun 25, 2013 at 9:19 PM, Robert Kern <(E-Mail Removed)> wrote:
> There is quite a bit of Python's lexical analysis that is specified in
> places other than the formal notation. That does not mean it is undefined.
> It is well defined in the lexer code and the documentation. You suggest that
> a "rule probably should be added to the lexer to make this explicit." That
> is not necessary. The rule is already there.


Be careful; Python is not an implementation-defined language. Python
has no "lexer code" - CPython does, and is probably what you're
thinking of. (There are other languages that *are*
implementation-defined, meaning that it *is* correct to talk about
features in that way. Python just isn't one of them.) Sometimes a rule
needs to be clarified to mandate something that was previously left up
to the implementation; however, if that's the case, the rule would not
be added to the lexer, but to the documentation.

ChrisA
 
Reply With Quote
 
Robert Kern
Guest
Posts: n/a
 
      06-25-2013
On 2013-06-25 12:48, Chris Angelico wrote:
> On Tue, Jun 25, 2013 at 9:19 PM, Robert Kern <(E-Mail Removed)> wrote:
>> There is quite a bit of Python's lexical analysis that is specified in
>> places other than the formal notation. That does not mean it is undefined.
>> It is well defined in the lexer code and the documentation. You suggest that
>> a "rule probably should be added to the lexer to make this explicit." That
>> is not necessary. The rule is already there.

>
> Be careful; Python is not an implementation-defined language. Python
> has no "lexer code" - CPython does, and is probably what you're
> thinking of.


No, that's not what I am thinking of. I said that the rule is defined in both
code and the documentation. Mark did suggest adding the rule to the lexer (for
which he may have been thinking of just CPython, but you can take that up with
him), but of course it is already there. I did not suggest that its presence in
the lexer code (of any or all implementations) is sufficient, but the point is
moot because it is already both explicitly implemented (several times) and
clearly documented in the Python language reference.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

 
Reply With Quote
 
Chris Angelico
Guest
Posts: n/a
 
      06-25-2013
On Tue, Jun 25, 2013 at 9:59 PM, Robert Kern <(E-Mail Removed)> wrote:
> On 2013-06-25 12:48, Chris Angelico wrote:
>>
>> On Tue, Jun 25, 2013 at 9:19 PM, Robert Kern <(E-Mail Removed)>
>> wrote:
>>>
>>> There is quite a bit of Python's lexical analysis that is specified in
>>> places other than the formal notation. That does not mean it is
>>> undefined.
>>> It is well defined in the lexer code and the documentation. You suggest
>>> that
>>> a "rule probably should be added to the lexer to make this explicit."
>>> That
>>> is not necessary. The rule is already there.

>>
>>
>> Be careful; Python is not an implementation-defined language. Python
>> has no "lexer code" - CPython does, and is probably what you're
>> thinking of.

>
>
> No, that's not what I am thinking of. I said that the rule is defined in
> both code and the documentation. Mark did suggest adding the rule to the
> lexer (for which he may have been thinking of just CPython, but you can take
> that up with him), but of course it is already there. I did not suggest that
> its presence in the lexer code (of any or all implementations) is
> sufficient, but the point is moot because it is already both explicitly
> implemented (several times) and clearly documented in the Python language
> reference.


Sure, fair enough. I've just been skimming this thread, lately, so
please don't take my post as implying that you're wrong-wrong-wrong...
it's just something that seemed to want clarifying

ChrisA
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: n00b question on spacing Dennis Lee Bieber Python 0 06-22-2013 01:57 AM
Re: n00b question on spacing Steven D'Aprano Python 0 06-22-2013 01:27 AM
Re: n00b question on spacing Terry Reedy Python 0 06-21-2013 10:33 PM
Re: n00b question on spacing Gary Herron Python 0 06-21-2013 10:26 PM
n00b question on spacing Yves S. Garret Python 1 06-21-2013 09:47 PM



Advertisments