私が作成したプログラミング言語のためにPythonで簡単なインタプリタを書いた。私は少し問題があります。ファイルを読み込もうとするとコードが解釈されるので、PythonはNone
と言っています。Python:ファイルを解析した後にインタプリタが「なし」と答えた
ここでインタプリタ・コードがあります:
import sys
class Interpret:
def read(self, cmd):
tokens = cmd.split("\n")
for i in range(0, len(tokens)):
self.parse(tokens[i])
def parse(self, cmd):
if cmd.startswith("print(") and cmd.endswith(")"):
cmd = cmd[6:]
cmd = cmd[:-1]
return(cmd)
interpret = Interpret()
code = open(sys.argv[1], 'r')
print(interpret.read(str(code)))
は、ここで私が読みたいファイルのコードです:print(Hi)\n
(はい、改行文字\n
が、そこではありません)
をので、ここで何が起こったのですCMD:
> python interpreter.py test.tl
None
出力はHi
ですが、正しく動作しません。私はインタプリタコードの最後の2行と関係があると思いますが、完全にはわかりません。
助けてくれてありがとう、そして余分なヒントもありがとう:) – m654