Определи цель языка
Для чего он? (напр., для веба, математики, обучения) В чём его фишка? Простота, скорость, безопасность? Разработка синтаксиса
Как будут выглядеть команды, циклы, переменные? Простой синтаксис — проще реализовать. Пример:
myLang
Копировать
Редактировать
let x = 5
print(x)
? 3. Напиши парсер (разбор текста)
Используются генераторы парсеров: ANTLR, Bison, Lark.
Парсер превращает текст программы в абстрактное синтаксическое дерево (AST).
4. Семантический анализ
Проверка типов, переменных, правил.
5. Интерпретатор или компилятор
Интерпретатор — выполняет код "на лету" (например, как Python).
Компилятор — преобразует код в машинный (например, как C).
Ты можешь использовать язык вроде Python или C++ для создания интерпретатора.
Думать над решением задачи, для которой нужен свой язык программирования. Впрочем, есть языки, специально предназначенные для написания специализированных языков, например, FORTH (на нем надо сначала написать свой язык под конкретную задачу, а потом уже ее программировать)