Понятия, требуемые в создании [закрытого] IDE/компилятора

20
задан Jon Smock 7 August 2010 в 15:42
поделиться

4 ответа

IDE, компилятор и отладчик являются тремя различными зверями.

Вот быстрый и немного случайный выбор некоторых ссылок, которые я нашел интересными или вдохновляющими при размышлении о создании инструментов моделирования для языков моделирования, который так близок, как я добираюсь до IDE:

существует своего рода предвзятость в тех ссылках к шаблонам для помощи чтению и просмотру, а не написанию кода, и к системам пользователь расширяется при использовании их, а не как отдельного цикла; если Вы хотите ориентированный на задачу интерфейсные или статические плагины, проекты для существующих IDE, таких как Eclipse являются местом для взгляда.

9
ответ дан 30 November 2019 в 01:13
поделиться

Для реализации компилятора / язык, Вам будет нужно фундаментальное понимание:

  • BNF & EBNF - Контекстно-свободный Grammers (синтаксические правила)
  • Лексические Методы Анализа & Инструменты (Lex / Бизон)
  • Методы синтаксического анализа (например, Рекурсивный Достойный, LL, LR)
6
ответ дан 30 November 2019 в 01:13
поделиться

Если Вы пишете компилятор, хороший курс Информатики в Теории Языкового перевода или чего-то подобного в значительной степени важен. MIT Открывает предложения Courseware "Разработка языка программирования" класс вдоль тех строк. Это должно учить Вам понятие, что mmattax упоминает, и обеспечьте хорошее начало.

Что касается IDE, это - действительно больше проекта настольного приложения. Вы могли бы называть компилятор от своего IDE, но Вы на самом деле не компилируете код (хотя, честно говоря, в сложном IDE, Вы могли бы анализировать код). Таким образом, знание, требуемое создавать IDE, который называет внешний компилятор/компоновщика, более центрировалось бы вокруг инструментария UI любой платформы, которую Вы используете с, возможно, небольшим количеством теории фронтенда компилятора (как Вы узнали бы в курсе компилятора), если Вы хотите проанализировать код.

1
ответ дан 30 November 2019 в 01:13
поделиться

Извините, но ответ является "Всей информатикой и годы практического опыта".

слишком большому предмету для обычных смертных и затмения, intellij, netbeans и Визуальный... покрыли предмет вполне прилично.

Взгляд на что-то меньшее и более достижимое как плагин затмения для чего-то, что интересует Вас.

-2
ответ дан 30 November 2019 в 01:13
поделиться