Интегрированная среда разработки Flex/Bison?[закрыто]

StackOverflow https://stackoverflow.com/questions/1150301

  •  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-файлы.

enter image description here

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top