Концепция используемого подхода
Общая концепция реализованного построения дерева операций состоит в рекурсивном вызове особых вспомогательных функций в зависимости от типа текущего узла в анализируемом синтаксическом дереве. Каждая такая функция отвечает за разбор конкретной языковой конструкции (или нескольких конструкций), представленной узлом входного дерева, может как просматривать дочерние или соседние узлы, так и редактировать строящееся дерево операций путем добавления новых узлов с помощью вспомогательной инфраструктуры.
Поскольку структура каждого узла синаксического дерева явно определена его видом, функции рекурсивно обращаются к узлам дерева и на основании их содержимого добавляют операции. В процессе такого обхода могут возникать исключительные ситуации, когда значения, хранящиеся в некоторых узлах дерева, являются некорректными. Такие значения могу возникнуть, например, вследствие обращения к несуществующим переменным или недопустимого порядка операций в тексте компилируемой программы. В этих случаях функци могут возбуждать ошибки, многие из которых, тем не менее, являются восстановимыми. Для этого может быть достаточно, например, прервать анализ текущего узла синаксического дерева и перейти к следующему.