Все началось еще в 2020 году, когда мне было семнадцать лет. Мне пришла в голову идея создать свой собственный, простой язык программирования. Я искал везде, чтобы найти достаточно знаний, чтобы начать творить.

Я нашел этого парня с YouTube по имени Andy Balaam, который объяснил все о том, что такое лексер, парсер, оценщик и многое другое, что мне нужно было знать, прежде чем я смог приступить к созданию.

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

Все началось с создания лексера. Что такое лексер в первую очередь? Лексер или токенизация — это процесс, в котором мы определяем, какой тип является определенной частью кода, написанного внутри данного ввода. Выход лексера — это токены, которые мы используем внутри синтаксического анализатора, создающего дерево синтаксического анализа. После дерева синтаксического анализа мы используем дерево синтаксического анализа внутри оценщика, после чего оно создает поведение.

АрктикаC

Простой язык программирования. Он использует компилятор исходного кода, переводя исходный код из ArcticC (тип файла .arcticc) в C#. (Имейте в виду, что этот язык программирования все еще находится в разработке, и он еще даже не близок к завершению).

Функциональность

  • Объявление переменных (синтаксис: {variablename} + ‘=’ + ‹integer,decimal,boolean,string› + ‘;’).
  • Объявление функций.
  • Объявление операторов «если» и «иначе». (пока только ‘==’ в качестве условия!)
  • «запустить» функцию, которая пропустит исходный код через лексер, парсер и оценщик.

Объявление переменных

Variable = 1.2; °declaration of decimal numbers°
VariableTwo = false; °declaration of boolean values°
VariableThree = "ArcticC"; °declaration of strings°

Декларация функций

func Hello() {
  izpisi("Hello, world!\n");
}

Hello();

Объявление операторов «если» и «иначе»

Variable=1;
VariableTwo=2;

if (Variable==VariableTwo) {
  izpisi("It is equals.");
} else {
  izpisi("It is not equals.");
}

Если вы собираетесь попробовать этот простой язык программирования, имейте в виду, что функция izpisi(); — это функция для создания вывода внутри консоли, и вы должны написать «выполнить» после того, как вы поместите свой код на тест, чтобы программа могла пройти через лексер, синтаксический анализатор и оценщик. Поддерживаемое условие внутри операторов if — «==» (равноравно), это зависит от того, когда вы читаете этот пост, так как в будущем я собираюсь добавить все операторы.

Циклы будут добавлены в будущем, но если вы хотите создать их сейчас, вы можете использовать рекурсивные функции, как в папке «Примеры» в проекте, ссылка на проект ниже.

Внутри самого проекта есть папка «Примеры», исходные коды ArcticC (тип файла .arcticc), которая дает вам некоторое представление о том, что может воссоздать этот язык программирования.

Между тем, если вы хотите узнать больше о моем проекте, узнать из него или скачать ArcticC, ссылка вставлена ​​в текст. Любая помощь в проекте приветствуется. Вы можете связаться со мной по электронной почте на моей странице GitHub.

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