[3.6] bpo-23894: make lib2to3 recognize f-strings (GH-1733) (#1737) · python/cpython@e8412e6 (original) (raw)
`@@ -74,7 +74,7 @@ def maybe(*choices): return group(*choices) + '?'
`
74
74
`Single3 = r"[^'\](?:(?:\.|'(?!''))[^'\])*'''"
`
75
75
`# Tail end of """ string.
`
76
76
`Double3 = r'[^"\](?:(?:\.|"(?!""))[^"\])*"""'
`
77
``
`-
_litprefix = r"(?:[uUrRbB]|[rR][bB]|[bBuU][rR])?"
`
``
77
`+
_litprefix = r"(?:[uUrRbBfF]|[rR][bB]|[bBuU][rR])?"
`
78
78
`Triple = group(_litprefix + "'''", _litprefix + '"""')
`
79
79
`# Single-line ' or " string.
`
80
80
`String = group(_litprefix + r"'[^\n'\](?:\.[^\n'\])*'",
`
`@@ -110,12 +110,14 @@ def maybe(*choices): return group(*choices) + '?'
`
110
110
`"r'''": single3prog, 'r"""': double3prog,
`
111
111
`"u'''": single3prog, 'u"""': double3prog,
`
112
112
`"b'''": single3prog, 'b"""': double3prog,
`
``
113
`+
"f'''": single3prog, 'f"""': double3prog,
`
113
114
`"ur'''": single3prog, 'ur"""': double3prog,
`
114
115
`"br'''": single3prog, 'br"""': double3prog,
`
115
116
`"rb'''": single3prog, 'rb"""': double3prog,
`
116
117
`"R'''": single3prog, 'R"""': double3prog,
`
117
118
`"U'''": single3prog, 'U"""': double3prog,
`
118
119
`"B'''": single3prog, 'B"""': double3prog,
`
``
120
`+
"F'''": single3prog, 'F"""': double3prog,
`
119
121
`"uR'''": single3prog, 'uR"""': double3prog,
`
120
122
`"Ur'''": single3prog, 'Ur"""': double3prog,
`
121
123
`"UR'''": single3prog, 'UR"""': double3prog,
`
`@@ -127,13 +129,15 @@ def maybe(*choices): return group(*choices) + '?'
`
127
129
`"RB'''": single3prog, 'RB"""': double3prog,
`
128
130
`'r': None, 'R': None,
`
129
131
`'u': None, 'U': None,
`
``
132
`+
'f': None, 'F': None,
`
130
133
`'b': None, 'B': None}
`
131
134
``
132
135
`triple_quoted = {}
`
133
136
`for t in ("'''", '"""',
`
134
137
`"r'''", 'r"""', "R'''", 'R"""',
`
135
138
`"u'''", 'u"""', "U'''", 'U"""',
`
136
139
`"b'''", 'b"""', "B'''", 'B"""',
`
``
140
`+
"f'''", 'f"""', "F'''", 'F"""',
`
137
141
`"ur'''", 'ur"""', "Ur'''", 'Ur"""',
`
138
142
`"uR'''", 'uR"""', "UR'''", 'UR"""',
`
139
143
`"br'''", 'br"""', "Br'''", 'Br"""',
`
`@@ -146,6 +150,7 @@ def maybe(*choices): return group(*choices) + '?'
`
146
150
`"r'", 'r"', "R'", 'R"',
`
147
151
`"u'", 'u"', "U'", 'U"',
`
148
152
`"b'", 'b"', "B'", 'B"',
`
``
153
`+
"f'", 'f"', "F'", 'F"',
`
149
154
`"ur'", 'ur"', "Ur'", 'Ur"',
`
150
155
`"uR'", 'uR"', "UR'", 'UR"',
`
151
156
`"br'", 'br"', "Br'", 'Br"',
`