Как я могу использовать ANTLR для автоматизации навигации по исходному коду? - PullRequest
0 голосов
/ 12 ноября 2018

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

  • Например, я хочу, чтобы оно понимало, что некоторый текст является переменная , что переменная имеет определенный тип и что тип определен в конкретном файле .
  • Я не хочу определять грамматикиЯ сам хотел бы использовать некоторые инструменты с открытым исходным кодом

Насколько я понимаю, мне нужен лексер / токенизатор.

После небольшого исследования я нашел ANTLR, которыйимеет несколько грамматик , уже определенных.

Я хотел бы выполнить 3 цели:

  1. Предоставить файл грамматики для языка X
  2. Предоставьте некоторый исходный код для языка X
  3. Получите токенизированный код, чтобы я мог перемещаться по нему

Моя предпочтительная технология - C #, но Python даже для некоторого гибридного подхода со встроенным в докер ANTLRтакже было бы хорошо.

Может кто-нибудь предоставить мне aquick-start example?

ANTLR даже имеет порт C #: ANTLRCS .Я не могу найти примеры того, как его использовать.

Если есть более подходящие подходы, чем использование ANTLR, пожалуйста, не стесняйтесь делиться:)

...