在本文档之后,我正在为Brainfuck编写一个解释器,在我的实现中需要转换一个字符串,例如:
',>,<[>[->+>+<<]>>[-<<+>>]<<<-]>>.'
进入如下指令列表:
[',', '>', ',', '<', [ '>', [ '-', '>', '+', '>', '+', '<', '<', ], '>', '>', [ '-', '<', '<', '+', '>', '>', ] '<', '<', '<', '-' ], '>', '>', '.']
或者,减去符号:
[ ... [...] ... [...] ... ]
现在我正在递归地解决这个问题,使用 deque 和 popleft() 一次遍历字符串一个符号,但我觉得我应该一次将它分解为子数组。
你将如何以 Pythonic 的方式解决这个问题?
(出于速度原因排除正则表达式)