From 8a82acd2c0dbd26b7eecc31080046d1855c85ea3 Mon Sep 17 00:00:00 2001 From: mryouse Date: Sat, 25 Jun 2022 01:55:20 +0000 Subject: performance of environment.get not so good --- neb/structs.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/neb/structs.py b/neb/structs.py index 1cb2adc..fcfa430 100644 --- a/neb/structs.py +++ b/neb/structs.py @@ -163,12 +163,14 @@ class Environment: return False def get(self, key): - if not self.contains(key): - raise NebPanic(f"undefined symbol: '{key}") - if key in self.environment: + try: return self.environment[key] - else: + except: + pass + try: return self.parent.get(key) + except: + raise NebPanic(f"undefined symbol: '{key}") def __str__(self): out = "" -- cgit v1.2.3