Интегрированная среда разработки Flex/Bison?[закрыто]
-
18-09-2019 - |
Вопрос
Я ищу хорошую среду разработки, в которой можно работать с flex, или bison, или с обоими.
Существуют ли какие-либо IDE, которые обладают такими возможностями и / или подходят для этого?
(Если нет, то следующий самый общий вопрос: существуют ли генераторы лексеров / синтаксических анализаторов с IDE?)
Спасибо ~Алекс
Решение
ANTLR имеет несколько Иды доступно, в том числе тот, который я написал.По количеству пользователей, АНТЛРВоркс вероятно, это наиболее часто используемый.У моего меньше общих функций, но я широко им пользуюсь, потому что он очень четко интегрируется с моей работой в Visual Studio.Грамматический синтаксис ANTLR чистый и очень мощный, генерирует код для многих языков, а сгенерированные им лексеры / синтаксические анализаторы представляют собой чистый, отлаживаемый код.
Отредактируйте, чтобы устранить проблемы в комментариях:
- Коммерческая документация для ANTLR существует и многими рекомендуется, но, безусловно, не является обязательной.Продукт nFringe IDE (коммерческий / с закрытым исходным кодом) Над которым я работал, использует ANTLR широко и был разработан полностью без помощи справочника ANTLR.
- ANTLRWorks 1.x развитие идет медленно, но не остановлено.В настоящее время существуют открытых вопросов нет, и были подняты две важные проблемы исправлено с момента выхода последней версии 1.5.
- ANTLRWorks 2 это совершенно другой продукт, написанный с нуля.A отдельный трекер проблем доступно для данного продукта.
Другие советы
Vim имеет отличную поддержку подсветки синтаксиса для файлов flex / lex и bison / yacc.Vim, похоже, угадывает по расширениям файлов, поэтому, пока мои файлы flex заканчиваются на .l или .lex, а мои файлы bison заканчиваются на .y, кажется, все работает нормально.Я знаю, это всего лишь IDE, но я нахожу подсветку синтаксиса наиболее полезной функцией для меня.
Если вам удобно работать в emacs, я бы предложил следующие режимы:
http://ftp.lip6.fr/pub/emacs/elisp-archive/incoming/bison-mode.el.gz
http://ftp.lip6.fr/pub/emacs/elisp-archive/incoming/flex-mode.el
Имейте в виду, что и то, и другое очень глючит, но через некоторое время я разобрался с большинством хитростей, позволяющих заставить отступ работать.
Пример .emacs , который загружает эти режимы: http://www.elliotglaysher.org/emacs/
Лично я использую Gedit, в нем есть встроенная подсветка lex / flex yacc / bison
Только что нашел Систему парсинга GOLD.Это не Flex / Bison, но если что-то подобное приемлемо, то это, похоже, отличная IDE, и на веб-сайте есть отличная документация для начала работы.
Visual Studio имеет хорошую поддержку flex / bison, https://sourceforge.net/p/winflexbison/wiki/Visual%20Studio%20custom%20build%20rules/
Подводя итог, вам нужно установить win_flex_bison, порт GnuWin для flex и bison, и установить пользовательское правило сборки Visual Studio, используя файл "targets", присутствующий вместе с портом, и указать путь к exe в настройках каталогов VC ++;затем он будет собран и отлажен как обычные cpp-файлы.