diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-10-17 10:14:05 +0200 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-12-08 10:08:10 -0800 |
| commit | c8ab1d29d62518c630e589941524e13643a4267a (patch) | |
| tree | c06d079c5526127afcc9598c820f2ec6486bf601 | |
| parent | a64b82c75f670fdd69eaafc4f06e94be3604327c (diff) | |
| download | meson-c8ab1d29d62518c630e589941524e13643a4267a.tar.gz | |
mparser: move dictionaries to toplevel
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
| -rw-r--r-- | mesonbuild/mparser.py | 28 |
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 |
