Member 14828700 Ответов: 3

Как я могу создать язык программирования с нуля?


Я программист уже несколько лет и выучил несколько языков программирования (java,c,c++,python,assembly), но понятия не имею, как их создать. Я хочу научиться создавать собственные с нуля, а не на основе какого-то другого существующего языка, просто меняя команды. Я хочу создавать свои собственные команды с нуля, и я хочу научиться создавать новые команды, которые не существуют ни на одном другом языке. В основном я хочу знать, как я мог бы создать язык, если бы не было другого языка. Есть ли кто-нибудь, кто может мне помочь?

Что я уже пробовал:

Единственное, что я знаю об этом, - это о парсерах и лексерах. Я мало что знаю, но из того, что я знаю, они используются для чего-то подобного. Но я думаю (возможно, я ошибаюсь), что они не предназначены именно для того, чего я хочу, они не предназначены для создания совершенно нового языка. Я не знаю точно, как их использовать, должен ли я узнать о них больше?

MadMyche

Я думаю, что название вашего вопроса в значительной степени говорит о том, что это не подходит для форума быстрого ответа

3 Ответов

Рейтинг:
1

Matthew Dennis

Это книга, которую все мы, программисты постарше, читали, чтобы понять, как создавать компиляторы.
Принципы проектирования компиляторов Ахо и Уллмана[^javascript:void(0)]


Рейтинг:
0

Richard MacCutchan

На этот вопрос невозможно ответить, поскольку он включает в себя так много различных аспектов. Вам нужно провести много исследований в области синтаксических анализаторов языка, которые используются для разбиения программных операторов вниз. И после этого все становится действительно сложным, поскольку вам нужно проанализировать каждую часть отдельно и по отношению к остальной части кода, чтобы превратить ее в машинный код. Это далеко не тривиальная задача, особенно для человека, работающего самостоятельно. Как уже упоминалось выше, вам нужно будет провести много исследований.


Рейтинг:
0

RickZeeland

Здесь вы можете найти несколько советов: Как создать язык программирования: 15 шагов (с картинками)[^]