- создание двумерных прмитивов: прямоугольник, точка, отрезок
- вывод конечной геометрии в ascii формате
- имеется графический интерпретатор:
gbl
(см.gui/
)
потому что я только начал и возможно в будущем я добалю новые возможности
- bl имеет следующий синтаксис:
function-name:arg1|arg2|arg2|.../
- bl -- интерпретируемый язык, скомпилировать интерпретатор можно при помощи
make
- в bl имеются следующие встроенные функции:
- reta (
reta:<x;y>|<you expression>/
) -- выводит на экран свой второй аргумент - rect (
rect:<x;y>|<width;lenght>/
) -- возвращает прямоугольник с ккординатами x y и размерами width и lenght - point (
point:<x;y>/
) -- возвращает точку в заданные координаты - line (
line:<x1;y1>|<x2;y2>/
) -- создаёт линию с началом в x1 y1 и концом в x2 y2. - brush (
brush:<c>|<bg;fg;bright>/
) -- меняет символ кисти на c, а фон кисти, цвет самой кисти и её яркость делает равными bg fg и bright соответственно, значения принимаемые аргументами цвета:red, green, blue, black, white, azure, pink, yellow
, значения принимаемые аргументом яркости:norm, bright
- sym (
sym:c/
) -- делает то же что и brush но не меняет цвет, только символ - ~ (
~:<comment text>/
) -- функция комментарий - sleep (
sleep:<time>/
) -- функция приостанавливает работу программы, на время time (в секундах) - circle (
circle:<x;y>|<d>/
) -- возвращает круг с координатами x y и диаметром d - arc (
arc:<x;y>|r|<angle1;angle2>/
) -- создаёт дугу по координатам x y с радиусом r построенную между углами angle1 и angle2 доступно только в gbl
- reta (
- одной важной особенностью bl является то, что в нём присутствуют самовычисляемые функции, например:
qwerty/
-- приведёт к выводу на экранqwerty/
потому как считается что это вызов самовычисляемой функции результатом которой является она сама. А записьqwerty:/
-- приведёт к выводуqwerty
потому как теперь, она принимает аргумент, и результатом возвратит своё название
Вопрос достойный рассмотрения. Честно, я понятия не имею кому это может пригодиться, но оно есть, и это главное. Хотя при помощи bl удобно рисовать ascii арты (наверное)