Когда кто-то пишет новый язык программирования, что они пишут на IN? - PullRequest
148 голосов
/ 27 октября 2009

Пожалуйста, извините за мое невежество. Я зацикливаюсь на PHP и начинаю ходить по SO, и чувствую себя обязанным задать вопрос, который меня интересовал годами:

Когда вы пишете совершенно новый язык программирования, на чем вы пишете ?

Это, наверное, звучит очень глупо для всех вас, программистов, к которым я испытываю огромное уважение, но для меня это непонятная вещь из курицы и яйца. Чем ты занимаешься? Скажи себе Сегодня я собираюсь изобрести новый язык! , а затем запустить ... Блокнот? Все ли компиляторы построены на ранее существовавших языках, чтобы можно было беспокоиться о том, чтобы все языки программирования, когда-либо придуманные, наносили на одно чудовищное ветвящееся дерево, которое в конечном итоге оказалось на ... Я не знаю, что-то старое? * С моим слабым интеллектом я нахожу это увлекательным ... Пожалуйста, просветите меня!

Ответы [ 12 ]

0 голосов
/ 14 августа 2015

У меня тоже был этот вопрос несколько месяцев назад. И я прочитал несколько статей и посмотрел несколько видео, которые помогли мне начать писать свой собственный язык, называемый софт. Он еще не завершен, но я многому научился из этого путешествия.

Основные вещи, которые вы должны знать, это то, как работает компилятор, когда он должен выполнить фрагмент кода. Компилятор имеет много фаз, таких как лексический анализ, семантический анализатор, AST (абстрактное синтаксическое дерево) и т. Д.

То, что я сделал на моем новом языке, можно найти здесь - http://www.singhajit.com/writing-a-new-programming-language/

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

0 голосов
/ 12 декабря 2013

Даже дополнительные двоичные или ассемблерные операции должны быть преобразованы в функции, то есть в работу ассемблеров / компиляторов, а затем в объект, из данных и функций, если у вас нет исходного файла, чтобы увидеть, «как должна работать функциональность этих объектов» представленный в вашей языковой реализации, тогда вы должны распознать «увидеть» реализацию или определить свои собственные функции, процедуры и структуры данных, что требует много знаний, вам нужно спросить себя, что такое функция. Тогда ваш ум становится Языковая симуляция. Это отделение мастера-программиста от остальных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...