[Python-Dev] Parsing f-strings from PEP 498 -- Literal String Interpolation (original) (raw)
Paul Moore p.f.moore at gmail.com
Fri Nov 4 05:36:20 EDT 2016
- Previous message (by thread): [Python-Dev] Parsing f-strings from PEP 498 -- Literal String Interpolation
- Next message (by thread): [Python-Dev] Parsing f-strings from PEP 498 -- Literal String Interpolation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 4 November 2016 at 08:36, Simon Cross <hodgestar+pythondev at gmail.com> wrote:
On Fri, Nov 4, 2016 at 9:56 AM, Eric V. Smith <eric at trueblade.com> wrote:
2. The parser sees that it's an f-string, and breaks it into expression and text parts. I'm with Fabio here. It would be really nice to have a grammar specified and documented for this step, even if it's not implemented that way. Otherwise it's going to be very hard for, e.g., syntax highlighters to know what is intended to be allowed.
I think that if the docs explain the process, essentially as noted by Eric above:
Step 2 is the part that limits what types of expressions are allowed. While scanning for the end of an expression, it stops at the first '!', ':', or '}' that isn't inside of a string and isn't nested inside of parens, braces, and brackets. [...] Also, backslashes are not allowed anywhere inside of the expression.
then that would be fine. Possibly a bit more detail would be helpful, but I'm pretty sure I could reimplement the behaviour (for a syntax highlighter, for example) based on the above.
I assume that the open item Eric mentions to fix the PEP and docs is sufficient to cover this, so it'll be documented in due course.
Paul
- Previous message (by thread): [Python-Dev] Parsing f-strings from PEP 498 -- Literal String Interpolation
- Next message (by thread): [Python-Dev] Parsing f-strings from PEP 498 -- Literal String Interpolation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]