iLanguage или Через тернии к языку
реклама
Приветствую, Уважаемые товарищи Оверклокеры. Не так давно мне пришлось разочароваться во всех существующих языках программирования. Одни сложны в понимании, другие - в изучении. Тогда и родилась идея создания своего собственного языка. Данная статья является попыткой систематизировать всю информацию и все наработки в этом направлении.
Так как в одиночку такую работу выполнить довольно таки сложно, я подключил к ней своего закадычного друга-программиста. Ему эта идея понравилась, и он даже вызвался сделать итерпретатор.
Практически сразу же и появилось название - 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.
Спасибо за внимание и уделенное время. Критикуйте(но не сильно)
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают