Я написал простой интерпретатор с Python для языка программирования, который я создал. У меня есть небольшая проблема: когда я пытаюсь прочитать файл, поэтому код можно интерпретировать, Python говорит None
.Python: интерпретатор говорит «None» после разбора файла
Вот код переводчика:
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
, но он не работает должным образом. Я думаю, что это имеет какое-то отношение к двум последним строкам кода интерпретатора, но я не совсем уверен.
Спасибо за помощь, а также за дополнительные советы :) – m654