Вопросы по созданию языков программирования - PullRequest
0 голосов
/ 13 апреля 2011

Я новичок в программировании ... Но я хотел бы знать, как начинаются языки программирования;Я пользователь Windows OS, и все кажется таким огромным.Итак, мой вопрос: как программисты переходят с этого пустого экрана к созданию собственного языка программирования.

Кроме того, много ли новых языков создано?И сделано ли оно в домашних условиях?

Ответы [ 3 ]

2 голосов
/ 13 апреля 2011

Чтобы придумать новый язык программирования, вам сначала нужно придумать формальную грамматику .Используя формальную грамматику, вы решаете такие вещи, как, например, будет ли ваша переменная true / false называться bool или boolean или Boolean (упрощенный пример).

Как только грамматика установлена, вы пишете программу на известном языке программирования, которая использует правила грамматики, чтобы принимать строки кода в качестве ввода и создавать машинно-исполняемый код в качестве вывода.Такая программа называется компилятором.Исполняемый машинный код, как правило, специфичен для машины, на которой он будет работать, например, если он является процессором Intel, тогда ваш компилятор должен создать язык ассемблера, соответствующий Intel.

Итак, самые важные курсы по информатике, которые вам необходимо пройтипрежде чем разрабатывать свой собственный язык, такие как «Архитектура компьютера», «Теория автоматов» и «Конструкция компилятора», вам необходимо изучить несколько вещей о языке ассемблера оборудования, на котором вы планируете запускать свои программы, и, наконец, низкоуровневый язык программирования, такой как C, который можетпоможет вам написать новый компилятор.

2 голосов
/ 13 апреля 2011

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

Список можно найти в Википедии .

1 голос
/ 13 апреля 2011

Чтобы написать программу, вам нужна программа!

Вот что вы делаете: 1) Решите, как будет выглядеть ваш язык (грамматика) 2) Напишите парсер (превратите текст, который вводит программист вдерево разбора) 3) Превратите содержимое дерева разбора в те единицы и нули, которые понимает ваш целевой процессор.4) Упакуйте все это в исполняемые файлы, ожидаемые вашей ОС.

...