3

私は 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\.]+')

申し訳ありませんが、具体的には言えません...どんな助けでも大歓迎です。

4

1 に答える 1

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 は、あなたがzombie.zPython から (またはあなたがそれを呼んだものは何でも) 直接実行しようとしていると信じさせますpython zombie.z


余談ですが、私とあなたの前の質問のポスターの両方が (独立して)ソース ファイル.zの拡張子として選択するのは興味深いと思います。zombie自然な選択に違いない...

于 2013-01-04T01:42:26.927 に答える