Возьмите паскальское задание
Возраст: = 42;
Дерево синтаксиса будет выглядеть так же, как исходный код. Ниже я ставлю скобки вокруг узлов.
[Возраст] [: =] [42] [;]
Абстрактное дерево будет выглядеть так
[=] [Возраст] [42]
Назначение становится узлом с 2 элементами, Age и 42. Идея состоит в том, что вы можете выполнить назначение.
Также обратите внимание, что синтаксис паскаля исчезает. Таким образом, возможно, чтобы более чем один язык генерировал один и тот же AST. Это полезно для мультиязычных скриптов.