summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-10-17 10:14:05 +0200
committerDylan Baker <dylan@pnwbakers.com>2025-12-08 10:08:10 -0800
commitc8ab1d29d62518c630e589941524e13643a4267a (patch)
treec06d079c5526127afcc9598c820f2ec6486bf601
parenta64b82c75f670fdd69eaafc4f06e94be3604327c (diff)
downloadmeson-c8ab1d29d62518c630e589941524e13643a4267a.tar.gz
mparser: move dictionaries to toplevel
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--mesonbuild/mparser.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py
index 174a6cc12..eee6ffc04 100644
--- a/mesonbuild/mparser.py
+++ b/mesonbuild/mparser.py
@@ -689,6 +689,17 @@ COMPARISON_MAP: T.Mapping[str, COMPARISONS] = {
'not in': 'not in',
}
+ADDSUB_MAP: T.Mapping[str, ARITH_OPERATORS] = {
+ 'plus': 'add',
+ 'dash': 'sub',
+}
+
+MULDIV_MAP: T.Mapping[str, ARITH_OPERATORS] = {
+ 'percent': 'mod',
+ 'star': 'mul',
+ 'fslash': 'div',
+}
+
# Recursive descent parser for Meson's definition language.
# Very basic apart from the fact that we have many precedence
# levels so there are not enough words to describe them all.
@@ -850,32 +861,23 @@ class Parser:
return left
def e5(self) -> BaseNode:
- op_map = {
- 'plus': 'add',
- 'dash': 'sub',
- }
left = self.e6()
while True:
- op = self.accept_any(op_map)
+ op = self.accept_any(ADDSUB_MAP)
if op:
operator = self.create_node(SymbolNode, self.previous)
- left = self.create_node(ArithmeticNode, op_map[op], left, operator, self.e6())
+ left = self.create_node(ArithmeticNode, ADDSUB_MAP[op], left, operator, self.e6())
else:
break
return left
def e6(self) -> BaseNode:
- op_map = {
- 'percent': 'mod',
- 'star': 'mul',
- 'fslash': 'div',
- }
left = self.e7()
while True:
- op = self.accept_any(op_map)
+ op = self.accept_any(MULDIV_MAP)
if op:
operator = self.create_node(SymbolNode, self.previous)
- left = self.create_node(ArithmeticNode, op_map[op], left, operator, self.e7())
+ left = self.create_node(ArithmeticNode, MULDIV_MAP[op], left, operator, self.e7())
else:
break
return left