Lab 11 - Interpreters
Q2: Evaluating Names
raise NameError('your error message here (a string)')
def eval(self, env):
"""
>>> env = {
... 'a': Number(1),
... 'b': LambdaFunction([], Literal(0), {})
... }
>>> Name('a').eval(env)
Number(1)
>>> Name('b').eval(env)
LambdaFunction([], Literal(0), {})
>>> try:
... print(Name('c').eval(env))
... except NameError:
... print('Exception raised!')
Exception raised!
"""
"*** YOUR CODE HERE ***"Q2: Solution
Q3: Evaluating Call Expressions
Q3: Solution
Extra
Q4: Applying Lambda Functions
Q4: Solution
Q5: Handling Exceptions
Q5: Solution
Last updated