aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mparser.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-09-02 23:13:46 +0300
committerGitHub <noreply@github.com>2016-09-02 23:13:45 +0300
commit84995b2993a875496827b28293f228902038dcd7 (patch)
tree1e080ee33ab96334dd5d4f9c2453c72fbe822334 /mesonbuild/mparser.py
parent0e796641559f0fd6ac75a190157c8940cb7bc5a8 (diff)
parent5fec1620d2528d79862ad28f2f31e12af8fd22c1 (diff)
downloadmeson-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.py9
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'):