diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-02-03 21:51:45 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-02-05 22:33:48 +0200 |
commit | a288b524bc16eeba048e2ee8ec310422ecb36956 (patch) | |
tree | a04a60b58cacc3be810c6c0b77bd8e6d4441ee11 /mesonbuild/mparser.py | |
parent | 86ee89b400fc4acbb506cc44d5a287958397edf9 (diff) | |
download | meson-a288b524bc16eeba048e2ee8ec310422ecb36956.zip meson-a288b524bc16eeba048e2ee8ec310422ecb36956.tar.gz meson-a288b524bc16eeba048e2ee8ec310422ecb36956.tar.bz2 |
Add support for hex int literals.
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r-- | mesonbuild/mparser.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index 5df056f..94d56e5 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -71,6 +71,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+')), ('eol_cont', re.compile(r'\\\n')), ('eol', re.compile(r'\n')), @@ -152,6 +153,9 @@ class Lexer: 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) elif tid == 'eol' or tid == 'eol_cont': lineno += 1 line_start = loc |