Вот изображение Инструмент Roslyn Syntax Visualizer (часть Visual Studio):
Как я вижу, мы можем использовать команду View Directed Syntax Graph для отображения этого окна синтаксического дерева:
Мой вопрос: Почему это окно называется графиком синтаксиса, а не деревом синтаксиса?
Это потому, что каждое дерево представляет собой граф, но тогда почему они не выбрали имя Синтаксическое дерево как более удобное? Зачем обобщать с помощью термина Graph?
Если синтаксическое дерево может быть циклическим, то не могли бы вы предоставить мне пример синтаксиса C#, являющегося синтаксическим графом?
Также могут отрицать свои голоса :) Если вы не можете предоставить пример синтаксического дерева C#, имеющего циклы для графа, пожалуйста, не голосуйте против, чтобы другие могли ответить на этот вопрос :)
Мне интересно, можно ли построить граф с узлом, имеющим несколько родителей. Это не было бы циклом (как таковым), если бы мы не игнорировали направленность. И я сомневаюсь, что любой нормальный код C#, представленный в виде исходных файлов, также мог бы создать такой график.
Я думаю, это вопрос выбора ваших сражений / последовательности. Когда вы выбираете этот пункт меню, он выдает файл .dgml и открывает его в «Редакторе графических документов» (или, предположительно, в «Средстве просмотра графических документов». Какой у вас есть, зависит от версии VS, я могу видеть только редактор , ваш снимок экрана показывает зрителю). Файлы DGML являются общими и могут содержать любой тип графа, а не только деревья. Если он открыт в редакторе, вы можете добавлять и удалять узлы и ссылки, поэтому легко может получиться что-то, кроме дерева.
Спасибо, @Damien_The_Unbeliever, это имеет смысл.





Это в основном потому, что Tree - это Graph ... то есть Дерево - это граф, в котором нет циклов.
Да, это правда, но тогда почему бы не использовать термин Синтаксическое дерево?
Это звучит как отличный вопрос для команды IDE, но ... в качестве вопроса кодирования здесь - я не понимаю, что вы хотите, чтобы мы действительно спекулировали.