Как только вы получите имя функции, используйте команду dict для запуска функции:
def mysum(...): ...
def myotherstuff(...): ...
# create dispatch dict:
myfunctions = {'sum': mysum, 'stuff': myotherstuff}
# run your parser:
function_name, parameters = parse_result(line)
# run the function:
myfunctions[function_name](parameters)
В качестве альтернативы создайте класс с помощью команд:
class Commands(object):
def do_sum(self, ...): ...
def do_stuff(self, ...): ...
def run(self, funcname, params):
getattr(self, 'do_' + funcname)(params)
cmd = Commands()
function_name, parameters = parse_result(line)
cmd.run(function_name, parameters)
Вы также можете посмотреть на модуль cmd в stdlib, чтобы выполнить свой урок. Он может предоставить вам интерфейс командной строки для вашего языка с автоматическим завершением команды табуляции.