Pisze język programowania tak dla ćwiczenia. Problem polega na tym, że w momencie, w którym sprawdzam, czy komenda pobrana z pliku istnieje program wyświetla, że nie. W tym fragmencie:
global cmd_state
global num
if cmd.value not in commands[len(args)]:
cmd_state = True
if cmd.value not in types:
if cmd_state:
print("{0} in line {1}:is not a command or incorrect number of arguments".format(cmd.value, num))
exit(0)
else:
if cmd.value == 'int':
if len(args) is 2:
variables[args[0]] = int(args[1].value)
else:
variables[args[0]] = int()
if cmd.value == 'float':
if len(args) is 2:
variables[args[0]] = float(args[1].value)
else:
variables[args[0]] = float()
if cmd.value == 'string':
if len(args) is 2:
variables[args[0]] = str(args[1].value)
else:
variables[args[0]] = str()
Lista wygląda tak:
commands = [
[''], # 0 argument commands
['print'], # 1 argument commands
[''], # 2 argument commands
['add', 'sub', 'div']
]
Cały kod można zobaczyć tutaj:
http://4programmers.net/Pastebin/5672