Наша компания (Австралия, Сидней) существует уже 2 года. Так вот — решили мы год назад сделать для разработки свои языки программирования. Точнее сама основа уже была — закрытые языки программирование нашей компании-предшественницы.
В итоге мы получили три языка программирования — R.Script (микропроцессоры, вычислительные программы), L.Script (GUI, Web приложения) и главный — W.Script (этот язык — основа двух предыдущих и с ним можно делать все, что хочешь).
В этой статье я впервые в интернете расскажу о этих мозгоубивающих увлекательных языках программирования.
R.Script
Существует две редакции этого языка — LLP и HLP. Главная редакция, которую наши программисты используют, — LLP. HLP же является его расширением и превращением в полнофункциональный язык программирования типа L.Script (на данный момент HLP не используется в наших проектах).
Рассмотрим LLP
Для того, чтобы запустить программу, точнее сказать компилятору, что она есть (обычно это тело main) нужно запустить функцию INCLUDE:
LOAD(INCLUDE):
Двоеточие в конце строки нужно для открытия тела данной функции (т.е. мы сделали main { ).
Теперь нужно загрузить API, с которым мы будем работать:
PAR(STRING[~SYSTEM:.api>consoleapi#]);
Теперь я думаю, что стоит пояснить данную строку. На любом другом языке это выглядело бы подобно этому:
include("C:Sourceconsoleapi.api");
То есть строка в данном языке начинается с символа "~", а завершается — символом "#". Все строки должны быть обработаны функцией STRING[]; — квадратные скобки используются по причине того, что обычные () уже были использованы в строке.
Теперь нужно завершить тело документа, чтобы далее работать с API:
PAR(-END);
И закрываем тело вообще:
END
В итоге получаем программу:
LOAD(INCLUDE):
PAR(STRING[~SYSTEM:.api>consoleapi#]);
PAR(-END);
END
Для чего нужен дефис в функции PAR? А для того, чтобы полностью завершить выполнения тела. Если мы захотим подгрузить Win32API можем продолжить:
LOAD(INCLUDE):
PAR(STRING[~SYSTEM:.api>consoleapi#]);
PAR(END);
PAR(START); //Говорим, что хотим продолжить
PAR(STRING[~SYSTEM:.fir>Windows:.api>win32#]); //Загружаем файл C:SourceWindowswin32.api
PAR(-END); //Полностью завершаем тело
END
А теперь, чтобы что-то вывести нужно использовать API. Для этого нужно создать тело использования API:
LOAD(INCLUDE):
PAR(STRING[~SYSTEM:.api>consoleapi#]);
PAR(-END);
END
LOAD(API::CONSOLE-INCLUDE[PAR(LINE2)]):
ECHO(): //Говорим программе, что будем выводить (и открываем дело вывода при помощи двоеточия
PAR(STRING[~Hello, world#]);
PAR(-END);
END //Закрываем тело ECHO
PAR(-END); //Завершаем тело API
END //Закрываем тело API
В итоге мы получили «маленькую» программу Hello, world, которую можно скомпилировать почти во всех операционных системах (использует она консоль, в linux — терминал).
Продолжение следует…
Автор: Layan