Top.Mail.Ru
Ответы

На каком языке программирования (Assembler / С / С++) лучше будет написать компилятор для своего языка программирования?

Учитывая, что компилятор и является своего рода инструментом написанного нами языка программирования (перевода исходного кода "текста" на машинные коды), то выходит нужно создать лишь компилятор, но на каком языке эффективнее будет? Или разницы особо никакой нет. Просвятите неофита. Из языков знаю лишь С++ на 60-65% где-то. Остальные незначительно (Assembler / Java)...

По дате
По рейтингу
Аватар пользователя
Новичок

Да там разница будет 1%. Си быстрее и легче, чем Си++. Ассемблер - классика, но даже сейчас уже пишут на Си вместо ассемблера

Аватар пользователя
Гений

Лучше писать на том языке, который ты знаешь. Специалист сам выбирает подходящий язык программирования. А неспециалист вряд ли справится с решением задачи.
Для синтаксического анализа текста есть генераторы парсеров, например ANTLR. C++ там поддерживается, Ассемблер не поддерживается.

Аватар пользователя
Высший разум

"Создать лишь компилятор"??? Самый известный учебник по написанию компиляторов содержит около 1200 страниц немаленького формата.

Не важно, на каком языке написан компилятор. Важно, насколько оптимальный машинный код он генерирует. И тут лучше не писать с нуля, а взять, например, llvm - который позволяет создать свой front-end для любого языка программирования.

Аватар пользователя
Искусственный Интеллект

Компилятор компилируемого языка, как правило, пишется на этом самом языке, кроме самой первой версии, разумеется. Так что выбор языка для первого компилятора не критичен абсолютно, пиши на том, что лучше знаешь.

Аватар пользователя
Искусственный Интеллект

Мне в этом плане очень помог исходник компилятора с Си. Написанный на Си.
Кажется, в 1986 году...