Пусть это абстрактное синтаксического дерева:ATLR 4 - итерационный против рекуррентного
Я полагаю, что ANTLR будет пересекать это дерево, используя рекурсивный алгоритм я оценю это дерево много раз ((глубина первого обход.) например, 10MM раз.)
Вместо этого, используя рекурсивный алгоритм для перемещения этого дерева, я мог бы использовать итеративный (используя собственный стек). Я полагаю, что для кукольного представления производительности итеративный алгоритм будет работать намного лучше. Использует ли ANTLR рекурсивный траверс? Это проблема производительности?
Спасибо!
Спасибо за ответ! То, что я пытаюсь сделать, - создать движок, способный выполнять инструкцию SQL. Мой первый подход будет оценивать АСТ много раз. Вы знаете, какое представление используется для инструкции SQL? Я действительно потерян .. –