diff options
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r-- | mesonbuild/mparser.py | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index 78683be..72cf143 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -94,8 +94,7 @@ class Lexer: # Need to be sorted longest to shortest. ('ignore', re.compile(r'[ \t]')), ('id', re.compile('[_a-zA-Z][_0-9a-zA-Z]*')), - ('hexnumber', re.compile('0[xX][0-9a-fA-F]+')), - ('number', re.compile(r'\d+')), + ('number', re.compile(r'0[bB][01]+|0[oO][0-7]+|0[xX][0-9a-fA-F]+|0|[1-9]\d*')), ('eol_cont', re.compile(r'\\\n')), ('eol', re.compile(r'\n')), ('multiline_string', re.compile(r"'''(.|\n)*?'''", re.M)), @@ -187,10 +186,7 @@ This will become a hard error in a future Meson release.""", self.getline(line_s lineno += len(lines) - 1 line_start = mo.end() - len(lines[-1]) elif tid == 'number': - value = int(match_text) - elif tid == 'hexnumber': - tid = 'number' - value = int(match_text, base=16) + value = int(match_text, base=0) elif tid == 'eol' or tid == 'eol_cont': lineno += 1 line_start = loc |