@daniil14056

На каком языке писать свой компилятор?

Короче прочитал книжонку про компиляторы, довольно известную, и так бытует мнение "что каждый программист должен написать свой язык хотя бы раз" , то и у меня пока есть время для построения своего велосипеда.
Вопрос в следующем. На чем писать, что бы не зависел от того на чем пишу, к примеру на Java, будет легко написать, но тогда мой компилятор будет зависеть от JVM и без java не запустится, или я чего-то не знаю, хотелось бы верить, хотелось бы на JS писать, но он сам интерпретируется, а с С++ не хотел бы вспоминать, да и нуль практики.
Знаю JS и JAVA, но могу уделить времени и для изучения похожего языка, типа C#.

Сам компилятор должен быть exe файлом.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 2
keydon2
@keydon2
...
Могу подкинуть неоплачиваемую (разве что символически) несложную задачку - нужно довольно гибко сделать предметно-ориентированный язык для простых структур.
Да, речь идет о бесплатной рабочей силе, но своей стороны постараюсь как можно четче поставить задачку, посмотреть за коммитами и подсказать что сам знаю. К тому же опыт программирования на заказ(даже бесплатный) отличается от программирования для себя и факт, что твое изделие используется, а не бесполезно лежит в архиве, может греть душу.
По языку исходников - JS скорее всего не получится, java и плюсы, я думаю допустимы. Идеально будет на perl, python, которые часто и используют для таких задач.
Напиши, если интересно.
Ответ написан
@VrencchBug
На чем писать, что бы не зависел от того на чем пишу, к примеру на Java, будет легко написать, но тогда мой компилятор будет зависеть от JVM и без java не запустится

С чего бы? Совсем не обязательно. По вашей логике, фотошоп должен быть не exe, а картинкой psd. Компилятор - это просто парсер текста + "писатель" бинарных файлов определенного формата. Бинарные файлы не изучали, да?
Единственное - большинство имеющихся наработок по поддержке нативных форматов, асмов и т.д. именно на нативных языках. Особенно на Си и плюсах, да.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы