В настоящее время я читаю книгу LPTHW, и у меня есть вопрос, касающийся упражнения 49. Я не публикую здесь полный код упражнения / упражнения, но могу опубликовать его, если потребуется.
создать синтаксический анализатор Я определил следующие методы:
def parse_verb(word_list):
skip(word_list, "stop")
if peek(word_list) == "verb":
return match(word_list, "verb")
else:
raise ParserError("Expected a verb next.")
def parse_object(word_list):
skip(word_list, "stop")
next_word = peek(word_list)
if next_word == "noun":
return match(word_list, "noun")
elif next_word == "direction":
return match(word_list, "direction")
else:
raise ParserError("Expected a noun or direction next.")
def parse_subject(word_list):
skip(word_list, "stop")
next_word = peek(word_list)
if next_word == "noun":
return match(word_list, "noun")
elif next_word == "verb":
return("noun", "player")
else:
raise ParserError("Expected a verb next.")
В одном из дополнительных вопросов к упражнению предлагается изменить методы parser_ и поместить их в класс. Я не совсем понимаю, как я могу это сделать, поскольку я не очень хорошо знаком с классами / OOP.
. Любой совет, как решить эту проблему, был бы очень признателен.