Flex/Bison IDE?
Я ищу хорошую среду разработки, в которой можно работать с flex или bison или с обоими.
Есть ли IDE, которые имеют эти возможности и/или подходят для этого?
(Если не следующий наиболее общий вопрос: существуют ли генераторы lexer/parser с IDE?)
Спасибо
~ Алекс
Ответы
Ответ 1
ANTLR имеет несколько IDEs, включая тот, который я написал. По количеству пользователей ANTLRWorks, вероятно, наиболее часто используется. У Mine есть меньше общих функций, но я использую его широко, потому что он настолько чист с моей работой Visual Studio. Синтаксис грамматики ANTLR чист и очень эффективен, генерирует код для многих языков, а его сгенерированные лексеры/парсеры - это чистый, отлаживаемый код.
Изменить для рассмотрения проблем в комментариях:
- Коммерческая документация для ANTLR существует и рекомендуется многими, но, безусловно, не требуется. Продукт IDE nFringe (коммерческий/закрытый источник) Я работал над широко используемым ANTLR и был полностью разработан без помощи справочника ANTLR.
- ANTLRWorks 1.x разработка идет медленно, но не останавливается. В настоящее время нет открытых проблем, а две существенные проблемы были fixed начиная с последней версии 1.5.
- ANTLRWorks 2 - совершенно другой продукт и написан с нуля. Для этого продукта доступен отдельный трекер.
Ответ 2
Vim имеет отличную поддержку подсветки синтаксиса для файлов flex/lex и bison/yacc. Кажется, что Vim догадывается из расширений файлов, поэтому, пока мои файлы flex заканчиваются на .l или .lex, а мои файлы bison заканчиваются на .y, похоже, что все нормально. Я знаю, это едва ли IDE, но я считаю подсветку синтаксиса самой полезной функцией для меня.
Ответ 3
Если вам комфортно в 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/
Ответ 4
Лично я использую Gedit, у него есть встроенная подсветка lex/flex yacc/bison
Ответ 5
Только что нашел GOLD Parsing System. Это не Flex/Bison, но если что-то подобное приемлемо, это, похоже, отличная среда разработки, и на веб-сайте есть отличная документация для начала работы.
Ответ 6
У Visual Studio есть хорошая поддержка flex/bison,
https://sourceforge.net/p/winflexbison/wiki/Visual%20Studio%20custom%20build%20rules/
Подводя итог, вам необходимо установить win_flex_bison, порт GNUWin flex и bison, а также установить правильное правило сборки Visual Studio с использованием файла "целей", присутствующего вместе с портом, установить путь EXE в настройках каталогов VС++; то он будет построен и отлажен как обычные файлы cpp.
![введите описание изображения здесь]()