Другие языки программирования и технологии

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

Олег Фоминский
Олег Фоминский
23 064
Сначала напиши свою ОС.
Maksim Samakin
Maksim Samakin
49 504
Лучший ответ
C.rusla[N] 21 А может стоить начать с собственного сумматора?
У нас в университете была курсовая работа на эту тему. Задача — создать программу-интерпретатор собственного языка программирования.

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

Затем в среде C++ Builder Катя сделала окошко, в котором будет писаться код. Просто большое поле Memo, меню и панель инструментов.

Что нужно для запуска кода? Компьютер не знает, что с ним делать: для него это всего лишь набор букв и цифр.

Для начала нужно преобразовать код в набор лексем — минимальных смысловых единиц языка. Каждое имя переменной, каждое число, каждая строка, каждое ключевое слово, каждая операция, каждая скобка — всё это лексемы.

На входе — код.
На выходе — список лексем, из которых состоит этот код.

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

На входе — список лексем.
На выходе — дерево разбора. С корневым элементом «программа» и дочерними элементами — блоками программы. Дерево содержит много уровней, нисходя от программы и крупных ее блоков до отдельных лексем.

Затем в соответствии с рекомендациями, озвученными на лекции, Слава создал для хранения команд и данных таблицу, по которой путешествовала интерпретирующая процедура. После каждой операции процедура знала, в какую строчку таблицы ей следует идти дальше. Так и работала.

На защите наш интерпретатор сломали, введя отрицательный размер массива. Но остались довольны и поставили «отл.»
JA
Jamshed Abdurahimov
50 044
Shavkat Saidov А как вы компилировали?
https://habrahabr.ru/post/337240/
Вот тебе 10 статей
Сергей Ревтюх
Сергей Ревтюх
78 131
По твоему вопросу "Как выучить C++ или java?" я могу только советовать в начале познать другие языки, прежде чем создавать собственный. У нас в разработке именно так, что надо сначала проанализировать все известные программы, что есть, их преимущества и недостатки, понять, а нужно ли создавать новое или лучше приобрести готовое.
нужно сломать систему)
Юрий Туримов
Юрий Туримов
4 061