J'ai écrit un interpréteur simple avec Python pour un langage de programmation que j'ai créé. J'ai un petit problème cependant: quand j'essaie de lire un fichier, donc le code peut être interprété, Python dit None
.Python: l'interpréteur dit "None" après l'analyse du fichier
Voici le code interprète:
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)))
Voici le code dans le fichier que je veux lire: print(Hi)\n
(Oui, il y a une nouvelle ligne là-bas, pas les caractères \n
)
Alors, voici ce qui est arrivé CMD:
> python interpreter.py test.tl
None
il doit générer Hi
, mais il ne fonctionne pas correctement. Je pense que cela a quelque chose à voir avec les deux dernières lignes du code de l'interprète, mais je ne suis pas tout à fait sûr.
Merci pour l'aide, et aussi pour les conseils supplémentaires :) – m654