我继续搞乱ZOMBIE深奥的语言,我一直在使用的翻译器会抛出一些错误。
口译员在这里:http://esolangs.org/wiki/User:Marinus/ZOMBIE_interpreter
规范如下:http://www.dangermouse.net/esoteric/zombie.html
我在Mac上使用终端。 当我通过解释器运行Hello World程序时,
HelloWorld is a zombie
summon
task SayHello
say "Hello World!"
animate
animate
终端说 -
HelloWorld is a zombie
^
SyntaxError: invalid syntax
我认为解释器中的语法识别正则表达式存在问题,但我对它们没有经验。 以下是我认为应该责备的代码:
comment_re = re.compile("\{.*?\}", re.DOTALL)
declaration_re = re.compile(r'([A-Za-z0-9_\-]*?)\s+is\s+an?\s+(zombie|enslaved undead|' + \
r'ghost|restless undead|vampire|free-willed undead' + \
r'|demon|djinn)', re.I)
task_re = re.compile("task\s+([A-Za-z0-9_-]*)", re.I)
remember_re = re.compile("remember\s+(.*)", re.I)
string_re = re.compile('".*?"')
integer_re = re.compile('[\-0-9\.]+')
对不起,我不能更具体......任何帮助都会非常感激。
答案 0 :(得分:3)
对我来说效果很好:
temp $ python zombie.py zombie.z
Hello World!
我直接从您为解释器发布的链接复制了解释器的源,并将其保存为zombie.py
在当前目录(~/temp
中,尽管这是无关紧要的)。然后我直接从你的帖子中复制了僵尸HelloWorld程序的源代码,并将其保存为zombie.z
(再次在当前目录中)。它会打印Hello World!
,因为我认为它应该......
(python2.7,Mac OS X 10.5.8)
SyntaxError让我相信你正试图直接从python运行zombie.z
(或者你叫它的任何东西),例如python zombie.z
或类似的东西......那是行不通的。
顺便说一句,我认为有趣的是,我自己和前一个问题的海报(独立)选择.z
作为zombie
源文件的扩展名。必须只是自然的选择...