Есть ли реализация посетителя сгенерированного ANTLR дерева разбора, которое строит таблицу символов? - PullRequest
0 голосов
/ 29 апреля 2020

Я использую ANTLR4 для построения дерева разбора программы (C# программа, но может быть любым другим популярным языком). Теперь мне нужно разрешить декларации и обычаи. Я знаю основные принципы c (стек областей, таблица символов ...), но я считаю, что это довольно распространенная задача для существующей реализации. Тем не менее, я не могу найти ни одного. Если есть, пожалуйста, ведите меня. Если нет, мне интересно, почему.

Примечание. В идеале посетитель должен быть для дерева анализа ANTLR программы C# или javascript / Typescript и записан в C#. Но я не хочу быть разборчивым.

1 Ответ

1 голос
/ 30 апреля 2020

Обычно вопросы о других инструментах или программном обеспечении недопустимы в Stackoverflow, но, поскольку я могу ответить на него со ссылкой на свою собственную работу (бесстыдный плагин), я отвечу на него.

В Расширение ANTLR4 для кода Visual Studio Я реализовал таблицу символов и слушателя, который заполняет это. Это расширение анализирует грамматики ANTLR4 и создает таблицу символов с именами правил / токенов, опциями, альтернативами, блоками и т. Д. c. Построение таблицы символов происходит в реализации DetailsListener .

...