python, pt.05에서 처음부터 간단한 인터프리터를 구축할 수 있습니다. 변수 정의
4703 단어 pythonfromscratchinterpreter
class Interpreter:
# Modified constructor: scope is list of dicts
# First dict holds global variables,
# Last dict holds called function's scope variables
def __init__(self):
self.scope=[{}]
# ....(previous code)....
# When we call Set we always create or update variable
# in last scope:
def Set(self,xs):
_, key, val = xs
self.scope[-1][key] = self.eval(val)
# When we call Get we first look into last scope(function scope),
# if variable is not found then we look into first scope(globals)
def Get(self,xs):
_, var = xs
if var in self.scope[-1]:
return self.scope[-1][var]
elif var in self.scope[0]:
return self.scope[0][var]
raise Exception("error: variable not found: "+var)
code=[
["Set","answer", ["Mul",6, 7], ],
["Print", "Answer is: ", ["Get", "answer"] ]
]
interpreter=Interpreter()
interpreter.run(code)
산출:
Answer is: 42
링크: Patreon
Reference
이 문제에 관하여(python, pt.05에서 처음부터 간단한 인터프리터를 구축할 수 있습니다. 변수 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smadev/lets-build-a-simple-interpreter-from-scratch-in-python-pt-05-defining-variables-4hek텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)