Мне бы хотелось, чтобы мое приложение имело базовое понимание исходных кодов нескольких языков для автоматизации навигации по коду.
- Например, я хочу, чтобы оно понимало, что некоторый текст является переменная , что переменная имеет определенный тип и что тип определен в конкретном файле .
- Я не хочу определять грамматикиЯ сам хотел бы использовать некоторые инструменты с открытым исходным кодом
Насколько я понимаю, мне нужен лексер / токенизатор.
После небольшого исследования я нашел ANTLR, которыйимеет несколько грамматик , уже определенных.
Я хотел бы выполнить 3 цели:
- Предоставить файл грамматики для языка X
- Предоставьте некоторый исходный код для языка X
- Получите токенизированный код, чтобы я мог перемещаться по нему
Моя предпочтительная технология - C #, но Python даже для некоторого гибридного подхода со встроенным в докер ANTLRтакже было бы хорошо.
Может кто-нибудь предоставить мне aquick-start example?
ANTLR даже имеет порт C #: ANTLRCS .Я не могу найти примеры того, как его использовать.
Если есть более подходящие подходы, чем использование ANTLR, пожалуйста, не стесняйтесь делиться:)