Как написать шаблон посетителя для абстрактного синтаксического дерева в C #?

Я должен написать шаблон посетителя для навигации по AST. Может кто-нибудь сказать мне больше, как бы я начал писать это? Насколько я понимаю, каждый узел в AST будет иметь метод visit () (?), Который каким-то образом вызывается (откуда?). Это о заключении моего понимания. Чтобы упростить все, предположим, что у меня есть узлы Root, Expression, Number, Op и дерево выглядит так:

      Root
        |
       Op(+)
      /   \
     /     \
 Number(5)  \
             Op(*)
             /   \
            /     \
           /       \
       Number(2)   Number(444)

Ответы на вопрос(1)

Ваш ответ на вопрос