Приветствую, Уважаемые товарищи Оверклокеры. Не так давно мне пришлось разочароваться во всех существующих языках программирования. Одни сложны в понимании, другие - в изучении. Тогда и родилась идея создания своего собственного языка. Данная статья является попыткой систематизировать всю информацию и все наработки в этом направлении.
Так как в одиночку такую работу выполнить довольно таки сложно, я подключил к ней своего закадычного друга-программиста. Ему эта идея понравилась, и он даже вызвался сделать итерпретатор.
Практически сразу же и появилось название -
iLanguage, являющееся отсылкой к продуктам всем известной компании.(Здесь помидорами не кидаться)
К языку предъявлялись следующие требования:
Легкость в понимании и изучении
Простой синтаксис
Красивый логотип
Максимальное упрощение кодирования(т.е. чтобы легко можно было выполнять всякие разные сложные операции)
Работающий интерпретатор
Что-то из этого выполнить удалось, а о чем-то, например о легеости в изучении, мы не можем судить сами. Но, все по порядку.
Логотип Это такая штука, которую наравне с названием все должны узнавать сразу, поэтому к его созданию мы отнеслись со всей серьёзностью. Вот что у нас получилось:
Синтаксис Чтобы не изобретать велосипед, за основу взяли известный, наверное, подавляющему большинству Pascal.
Версия
iLanguage 0.1.4 Airplane содержит в себе следующий набор команд
var a'int, x'bool; // Задается целочисленная переменная a и логическая x
var b'int:array[1..100]; // Задается массив целочисленных значений
rd(a); // Запись в переменную а
strrd(a" "); // Читать строку в переменную а до пробела
re" "; // Пропустить пробел
wrt(Некоторый текст, 'a); // вывод на экран некоторого текста и значения переменной а
a[b]; // Присваивание переменной а значения переменной b
b'i[a]; // Присваивание элементу массива b под номером i значения переменной a
for i[1+3] 10 do ... end; // цикл с i от 1 до 10 и шагом 3 (если шаг 1, то +Число писать не обязательно)
if (условие) then do ... or do ... end; //условие
End. // Конец программы
Поддерживаемые арифметические операции: + - * / ^ sqrt
ИнтерпретаторНаходится на стадии разработки. Как будет готов, прикреплю файл с исходником
Пример программыvar a'int, i'int;
b'int:array[1..10];
a[10];
for i[1] 10 do
b'i[a];
a[2*a];
end;
End.
Спасибо за внимание и уделенное время. Критикуйте(но не сильно)