]> granicus.if.org Git - python/commitdiff
Revert "bpo-29869: Allow underscores in numeric literals in lib2to3. (GH-752)" (GH...
authorMariatta <Mariatta@users.noreply.github.com>
Thu, 13 Apr 2017 11:03:16 +0000 (04:03 -0700)
committerGitHub <noreply@github.com>
Thu, 13 Apr 2017 11:03:16 +0000 (04:03 -0700)
This reverts commit 97a40b7a5b2979fb17e1751c139fd4ba1ebd5276.
The commit is supposed to go to the master branch first.

Lib/lib2to3/pgen2/tokenize.py
Lib/lib2to3/tests/data/py3_test_grammar.py

index fba0fa2c00dccd9c3d99a2cc87b4203fba6f8664..d14db60f7da89ea4d63e9a1af1c30e70ac4aeb1b 100644 (file)
@@ -54,16 +54,16 @@ Comment = r'#[^\r\n]*'
 Ignore = Whitespace + any(r'\\\r?\n' + Whitespace) + maybe(Comment)
 Name = r'[a-zA-Z_]\w*'
 
-Binnumber = r'0[bB]_?[01]+(?:_[01]+)*'
-Hexnumber = r'0[xX]_?[\da-fA-F]+(?:_[\da-fA-F]+)*[lL]?'
-Octnumber = r'0[oO]?_?[0-7]+(?:_[0-7]+)*[lL]?'
-Decnumber = group(r'[1-9]\d*(?:_\d+)*[lL]?', '0[lL]?')
+Binnumber = r'0[bB][01]*'
+Hexnumber = r'0[xX][\da-fA-F]*[lL]?'
+Octnumber = r'0[oO]?[0-7]*[lL]?'
+Decnumber = r'[1-9]\d*[lL]?'
 Intnumber = group(Binnumber, Hexnumber, Octnumber, Decnumber)
-Exponent = r'[eE][-+]?\d+(?:_\d+)*'
-Pointfloat = group(r'\d+(?:_\d+)*\.(?:\d+(?:_\d+)*)?', r'\.\d+(?:_\d+)*') + maybe(Exponent)
-Expfloat = r'\d+(?:_\d+)*' + Exponent
+Exponent = r'[eE][-+]?\d+'
+Pointfloat = group(r'\d+\.\d*', r'\.\d+') + maybe(Exponent)
+Expfloat = r'\d+' + Exponent
 Floatnumber = group(Pointfloat, Expfloat)
-Imagnumber = group(r'\d+(?:_\d+)*[jJ]', Floatnumber + r'[jJ]')
+Imagnumber = group(r'\d+[jJ]', Floatnumber + r'[jJ]')
 Number = group(Imagnumber, Floatnumber, Intnumber)
 
 # Tail end of ' string.
index 0b9bee0ab42ea622ec478f71e28021eaa5451c09..cf31a5411a855a751144d050f220c4cd9287cf1c 100644 (file)
@@ -72,28 +72,6 @@ class TokenTests(unittest.TestCase):
         x = 0b100000000000000000000000000000000000000000000000000000000000000000000
         x = 0B111111111111111111111111111111111111111111111111111111111111111111111
 
-    def testUnderscoresInNumbers(self):
-        # Integers
-        x = 1_0
-        x = 123_456_7_89
-        x = 0xabc_123_4_5
-        x = 0X_abc_123
-        x = 0B11_01
-        x = 0b_11_01
-        x = 0o45_67
-        x = 0O_45_67
-
-        # Floats
-        x = 3_1.4
-        x = 03_1.4
-        x = 3_1.
-        x = .3_1
-        x = 3.1_4
-        x = 0_3.1_4
-        x = 3e1_4
-        x = 3_1e+4_1
-        x = 3_1E-4_1
-
     def testFloats(self):
         x = 3.14
         x = 314.