Переводчик в Python: Создание собственного языка программирования? - PullRequest
6 голосов
/ 25 июня 2010

Помните, это использует python. Ну, сегодня я возился с приложением под названием Pyline, которое я сделал. Это интерфейс, похожий на командную строку, с некоторыми интересными функциями. Тем не менее, у меня была идея при его создании: поскольку он похож на «ОС», разве у него нет своего языка?

Ну, я видел несколько статей в Интернете о том, как создать интерпретатор, парсер и компилятор, но он не был для меня действительно читабельным. Все, что я видел, было дерьмом кода. Я один из тех парней, которым нужны комментарии, или readme, или НЕКОТОРАЯ форма, или общение с пользователем без самого кода, поэтому я думаю, что переполнение стека было бы здорово для такого подростка, как я. Могу ли я получить помощь?

Ответы [ 4 ]

10 голосов
/ 25 июня 2010

Для того, чтобы действительно создать язык программирования, сначала нужно немного заземления. Я настоятельно рекомендую взять копию Pragmatics * Programming Language , которая является вполне читабельной (намного больше, чем Книга Дракона ) и подходит для самостоятельного изучения.

Как только вы готовы начать возиться с парсерами, ANTLR является «золотым» стандартом для генераторов парсеров с точки зрения удобства использования (хотя flex + bison / yacc вполне способны).

2 голосов
/ 25 июня 2010

Я только что прибыл Xtext , фреймворк для развития языка.Возможно, это то, на что вы могли бы взглянуть.

Учитывая Python, вам может показаться поучительным реализовать версию Logo .Если вы хотите, вы можете на данный момент пропустить этап синтаксического анализа / лексирования и сначала получить объектно-ориентированную версию, чтобы начать работу, если ваши навыки ООП соответствуют этому.Позже вы можете подключить его к графической библиотеке, чтобы на самом деле что-то нарисовать.

В дополнение к логотипу вы можете попробовать L-системы.В частности, Алгоритмическая красота растений для вдохновения.

1 голос
/ 08 ноября 2010

См. Интерпретатор схемы Питера Норвига на 2 страницах Python с большим количеством объяснений Там также есть более интересная версия, которую стоит прочесть, как только вы попробуете более простую.

1 голос
/ 25 июня 2010

Как и Theatrus, я бы посоветовал начать с хорошей книги на эту тему.Я определенно могу порекомендовать Шаблоны реализации языка от Terence Parr (человек, стоящий за ANTLR, генератором парсера).

...