Плагин VSCode ANTLR4: экспорт графа вызовов в JSON? - PullRequest
0 голосов
/ 09 марта 2020

Плагин vscode-antlr4 для кода VisualStudio имеет замечательную функцию графа вызовов, которая визуализирует (как дендрограмму) взаимодействие правил грамматики (и лексера). Вы можете сохранить график c как SVG.

Можно ли экспортировать информацию как JSON? Я не возражал бы углубиться в код плагина, чтобы найти способ сделать это.

Моя цель - создать графики достижимости для отдельных правил, то есть графики, показывающие, из каких других правил может быть достигнуто конкретное правило ( транзитивно). Информация о «вызовах» и «вызываемых» из функции графа вызовов была бы хорошей отправной точкой.

1 Ответ

1 голос
/ 10 марта 2020

Данные для графа вызовов поступают из экземпляра исходного контекста (для каждого файла грамматики есть единый исходный контекст для управления всеми деталями для него). См. Функцию getReferenceGraph, которая собирает отношения в объект карты. Вы можете использовать этот объект для генерации JSON объекта из него. Или вы создаете другую функцию, взяв эту в качестве шаблона, для генерации JSON напрямую, без дополнительных затрат, необходимых для пользовательского интерфейса.

...