Построение и обход абстрактного синтаксического дерева

Мне неясна структура абстрактных синтаксических деревьев. Чтобы перейти «вниз (вперед)» в исходный код программы, который представляет AST, вы идете прямо на самый верхний узел или спускаетесь? Например, enter image description here

или это: enter image description here

Если в первом переход «вправо» на основном узле будет продвигать вас по программе, но во втором, просто следование указателю next на каждом узле приведет к сделайте то же самое.

Похоже, что второй будет более правильным, поскольку вам не нужно что-то вроде специального типа узла с потенциально чрезвычайно длинным массивом указателей для самого первого узла. Хотя я вижу, что второй становится сложнее первого, когда вы попадаете в для циклов и если, ветвей и более сложных вещей.

7
задан Seth Carnegie 27 May 2011 в 18:15
поделиться