diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-09-02 23:13:46 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-02 23:13:45 +0300 |
commit | 84995b2993a875496827b28293f228902038dcd7 (patch) | |
tree | 1e080ee33ab96334dd5d4f9c2453c72fbe822334 /mesonbuild/mparser.py | |
parent | 0e796641559f0fd6ac75a190157c8940cb7bc5a8 (diff) | |
parent | 5fec1620d2528d79862ad28f2f31e12af8fd22c1 (diff) | |
download | meson-84995b2993a875496827b28293f228902038dcd7.zip meson-84995b2993a875496827b28293f228902038dcd7.tar.gz meson-84995b2993a875496827b28293f228902038dcd7.tar.bz2 |
Merge pull request #750 from ebassi/integer-modulo
Add support to integer modulo operator
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r-- | mesonbuild/mparser.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index 2f0eb2d..f593c8e 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -58,6 +58,7 @@ class Lexer: ('plus', re.compile(r'\+')), ('dash', re.compile(r'-')), ('star', re.compile(r'\*')), + ('percent', re.compile(r'\%')), ('fslash', re.compile(r'/')), ('colon', re.compile(r':')), ('equal', re.compile(r'==')), @@ -434,11 +435,17 @@ class Parser: return left def e5sub(self): - left = self.e5mul() + left = self.e5mod() if self.accept('dash'): return ArithmeticNode(left.lineno, left.colno, 'sub', left, self.e5sub()) return left + def e5mod(self): + left = self.e5mul() + if self.accept('percent'): + return ArithmeticNode(left.lineno, left.colno, 'mod', left, self.e5mod()) + return left + def e5mul(self): left = self.e5div() if self.accept('star'): |