Как создать свой язык программирования?
Точно так же, как и любую другую программу: сначала спроектировать, а потом реализовать.
Без другого языка программирования! Полностью с нуля.
В самом низу находится машинный код. Выглядит примерно вот так:
08 04 83 fa 08 04 83 fb 08 04 83 fd 08 04 84 00
У каждого процессора есть свой набор инструкций, которые кодируются машинным кодом. Открываем справочник и пишем нужный код для нужной ОС/железа. Ничего сложного, правда же? =)
Ведь как-то создали первый ЯП.
Достаточно почитать историю появления первых ЭВМ. Они представляли из себя набор переключателей отдельных битов, которые позже эволюционировали в перфокарты, которые в свою очередь представляли из себя прообраз современных исполняемых файлов. С увеличением количества доступных команд, усложнением техники и появлением накопителей программы так же становились все сложнее и сложнее: поэтому решили упростить запись и придумали первый ассемблер. Дальнейшее развитие привело к появлению первого ЯП высокого уровня и далее более высокие уровни абстракции, используя которые сегодня пишутся все программы.
Так что в вашем случае вам надо пройти весь этот путь самостоятельно. Примерно так:
- На машинном коде реализовать минимальный ассемблер
- Используя свой минимальный ассемблер реализовать простейший компилятор этого ассемблера
- Расширить компилятор ассемблера до стандартного набора инструкций
- На ассемблере реализовать транслятор и компилятор ЯП высокого уровня
- Реализовать необходимый набор инструкций для написания компилятора этого же ЯП
- Написать этот самый компилятор своего ЯП на нём же и далее уже скомпилировать первую самостоятельную версию своего ЯП без использования других ЯП