Поиск в Google практически ничего не дал.
Мне нужно разработать что-то тяжелое в m4, и я хотел бы сделать это в моей любимой среде со всеми ее особенностями.
Существуют пакеты для запуска m4 практически на каждой платформе, например окна. Итак, я знаю, что, по крайней мере, я могу создать проект по умолчанию и протестировать его из интерфейса командной строки. Но я бы не стал :)





Мне не известно о какой-либо конкретной поддержке редактирования для m4. Однако, если у вас есть время, чтобы сэкономить (!) И BNF для m4, вы можете использовать Xtext (http://wiki.eclipse.org/Xtext) для создания редактора синтаксической раскраски и завершения с видом структуры.
Обновлено ответ ниже предполагает, что m4 не имеет BNF или не является BNeFfable, и, конечно же, короткий поиск литературы не показывает никаких утверждений о том, что m4 BNF доступен - и кажется, хотя и не указано явно, что язык m4 невыразимо в этом смысле.
Очевидно, это опровергает мое предложение, поэтому я должен отказаться от него, если, конечно, Xtext не был расширен для работы с такими языками. Обратитесь к веб-сайту Xtext, указанному выше, для получения ответов на часто задаваемые вопросы и ссылок на списки рассылки.
Я не думаю, что у M4 <italic> есть </italic> BNF. Он завершен по Тьюрингу, а условное определение макросов означает, что синтаксис в целом непредсказуем, если редактор не содержит в себе интерпретатор M4.
Вы также можете попробовать колорер для Eclipse (http://colorer.sourceforge.net/eclipsecolorer/) - он почти наверняка поддерживает синтаксис m4 (хотя я не проверял).
Если вы знакомы с vim (и вам нравится), вы можете попробовать Эклим, а затем настроить подсветку синтаксиса для m4.
К сожалению, простая раскраска синтаксиса не поможет - вам нужно что-то, способное интерпретировать m4, потому что, пока не будут обработаны определения, вы не сможете определить, это просто слово или предопределенный макрос. mc (Midnight Commander) имеет подсветку рудиментарный для m4, вы можете взглянуть на это.
Это не тот макроязык, который вам нужен. Вы можете заниматься своими делами. (машет руками) :-)