我正在尝试为brainfuck实现一个解释器,截至目前,我只是使用一系列if/elif语句.
if(i == ">"):
...
elif(i == "<"):
...
elif(i == "+"):
...
elif(i == "-"):
...
Run Code Online (Sandbox Code Playgroud)
然而,这对我来说似乎非常笨拙和不py.是否有更好的(更清洁/更快/更美观)的方式来实现这个?
我在GitHub仓库中快速实现了针对Python的Brainfuck解释器.简而言之,您可以保留一个字典,其中键是Brainfuck字符,值是函数(或方法)对象,然后在其上发送.像这样的东西:
instructions = {
'+': increment,
'-': decrement,
# Other functions
}
def run(tape):
ch = next_token(tape)
if ch in instructions:
instructions[ch]()
Run Code Online (Sandbox Code Playgroud)
(不是实际的实现,只是一个快速的说明.)
| 归档时间: |
|
| 查看次数: |
1247 次 |
| 最近记录: |