Хорошо, вот мой краткий ответ: это не языковой вопрос, и ответы и комментарии здесь до сих пор смешны.Все языки, независимо от того, насколько они обманчивы, включают типы.Это вопрос о том, как обнаружить эти типы, а затем действовать, вызывать соответствующие соответствующие действия.Ответ - пара шаблонов из банды из четырех книг.
Во-первых, для разбора я бы посоветовал вам смотреть на это как на Посредника.Действия не должны ничего знать о шаблонах или файле, а также знание действий не должно быть включено в инициирующий контекст.Вы можете назвать эту вещь синтаксическим анализатором, детектором, как угодно, но сердцем этого класса будет сопоставление паттерна с соответствующим действием.
На стороне действия, шаблон для использования, конечно же, шаблон Command.Есть много возможностей при использовании команды.Если вам не нужен контекст, тогда команда довольно проста, у нее просто есть метод execute.Если вам нужно передать какой-то контекст, который будет меняться, вы можете либо шаблонизировать команды, либо создавать новые на лету, а затем вызывать их.