RSL

RSL
RSL
Класс языка:

процедурный, объектно-ориентированный

Тип исполнения:

интерпретируемый

Появился в:

1994

Автор(ы):

Сергей Кубрин

Расширение файлов:

mac

Релиз:

1121

Типизация данных:

динамическая

Основные реализации:

RS-Bank, RS-Portal, RS-Balance, RS-Forms

Диалекты:

[отсутствуют]

RSL — Проблемно-ориентированный проприетарный интерпретируемый язык программирования, разработанный компанией R-Style Softlab для использования в своих программных продуктах. В настоящее время в язык включена поддержка ООП, и он упоминается также как Object RSL. Среда разработки включает в себя редактор, отладчик, прекомпилятор, редактор консольных диалоговых окон и структур БД Pervasive, редактор графических отчетов Visual RSL, SDK для создания подключаемых модулей на C DLM SDK. RSL также называют макроязыком, а программы на нём макросами. Инструменты для создания и отладки программ на RSL доступны для свободного скачивания на сайте разработчика, однако такие макросы не должны содержать вызовов модулей, содержащих бизнес-логику и встроенных в основные программы R-Style. Интерпретатор реализован под Windows, позволяет работать под Wine. Ранние версии поддерживали MS DOS.

Rsltetris.png

Поддержка RSL встроена в RS-Bank и его модули, RS-Balance, RS-Portal.

С самого начала язык имеет встроенную поддержку работы с таблицами менеджера записей Btrieve (переименован в Pervasive PSQL). DBF файлы поддерживаются без учёта индексов. Работа с другими, в том числе SQL базами была организованна позднее через модуль RSLX и ADO или модуль RSD.

Hello world программа на RSL:

[Hello, world];[1]

Квайн на RSL (форматирование для удобства чтения):

s="s=Print(SubStr(s,1,2)+StrFor(34)+s+StrFor(34)+StrFor(59)+SubStr(s,3));";
     Print(SubStr(s,1,2)+StrFor(34)+s+StrFor(34)+StrFor(59)+SubStr(s,3));

Содержание

История

  • 1994
  • 10.02.1997 Возможность подключения модулей на C, C++ (DLM-модулей).
  • 25.06.1997 Поддержка объектов, создаваемых в среде выполнения RSL-программ.
  • 10.07.1997 Первый Object RSL.
  • 16.03.1998 Стандартный класс TArray.
  • 21.04.1998 DLM-модуль RSLX для поддержки Microsoft ActiveX объектов.
  • 07.05.1998 Стандартный класс TBFile.
  • 21.05.1998 Обработка ошибок при помощи конструкции OnError и класса TrslError.
  • 25.04.2001 Процедуры для взаимодействия с отладчиком.
  • 29.11.2001 Интеграция в RSL расширения для работы с терминалом и новые универсальные функции для работы с файлами как на стороне сервера, так и на стороне терминала.
  • 23.05.2002 Базовая поддержка RSCOM в стандартном модуле RCW.
  • 16.04.2003 Поддержка модулей платформы .NET.
  • 27.05.2005 Наконец-то появился цикл for.

Модули языка

RSLSRV

Модуль RSLSRV регистрирует в системе объект RSLSrv.RslEngine, который позволяет использовать макрос на RSL как объект ActiveX. Глобальные переменные макроса становятся свойствами, а процедуры — методами. Например, пусть существует макрос myactivex.mac:

var str1:String="Test string";
macro func1(a)
    return a*a;
end;

тогда можно использовать следующий код на Visual Basic:

Sub TestRSL()
    Set eng = CreateObject("RSLSrv.RslEngine")
    Set MyObj = eng.LoadModule("myactivex.mac")
    Debug.Print MyObj.str1     ' печатает Test string
    Debug.Print MyObj.func1(2) ' печатает 4
End Sub

RSD

RSLX

RsEngine

Windows Reports

Windows Reports — Объектно-ориентированная библиотека для вывода отчётов в форматы офисных приложений MS Excel, MS Word, Internet Explorer. Библиотека основана на технологиях RSCom и ActiveX. Большая часть написана на RSL, также в состав входят DLM-модули.

Особенности языка

В целом, синтаксис языка прост и понятен программистам, знакомым с языками Pascal и Visual Basic. В языке отсутствует оператор goto. Объявлять переменные и указывать их тип не обязательно. Операторы сравнения имеют более высокий приоритет, чем логические операторы. Например, если надо выполнить действие если переменная a равна 1 или 2, то необходимо применить следующую конструкцию:

if ((a==1) or (a==2))
    //действие
end;

Выполнение программы начинается с первой инструкции, не входящей в класс или процедуру, как в php.

macro func1
   [I'm function 1];
end;
//выполнение начнётся здесь
[Hello, world];

Отсутствует конструкция, позволяющая инициализировать массив, однако можно воспользоваться функцией. Пример:

macro GetArray()
    var aRet=TArray(Parmcount());
    var i:integer;
 
    for (i,0,Parmcount()-1)
        GetParm(i,aRet[i]);
    end;
    return aRet;
end; /* macro GetArray */
   
var MyArray=GetArray(1,"Элемент 2",GetArray(1,2,3),$4,null);

В результате переменная MyArray будет содержать массив из пяти элементов, причём третьим элементом будет массив.

См. также

Примечания

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "RSL" в других словарях:

  • RSL — registered social landlord (RSL). An RSL provides social housing. Practical Law Dictionary. Glossary of UK, US and international legal terms. www.practicallaw.com. 2010 …   Law dictionary

  • RSL — [ ,ar es el ] Returned Services League: an Australian organization that helps people who have served in the Australian military, and their families …   Usage of the words and phrases in modern English

  • RSL — abbrev 1. Returned Services League (Aust) 2. Royal Society of Literature * * * RSL UK [ˌɑːr es ˈel] US [ˌɑr es ˈel] Returned Services League: an Australian organization that helps people who have served in the Australian armed forces, and their… …   Useful english dictionary

  • RSL — rate sensitive liabilities (RSL) The quantity of liabilities subject to repricing within a defined time period. Usually related to rate sensitive assets in the ratio: RSA divided by RSL. American Banker Glossary …   Financial and business terms

  • RSL — /ar ɛs ˈɛl/ (say ahr es el) noun Returned and Services League of Australia; established in 1916 to provide assistance to those who have served in the armed forces and to their dependants. Formerly (1916–40), Returned Sailors and Soldiers Imperial …  

  • RSL — Die Abkürzung RSL steht für: Radsatzlast, siehe Achslast die Amtsbezeichnung für Realschullehrer in einigen deutschen Bundesländern Reinforced Shuttlecocks Limited, einen englischen Federballhersteller Rostocker Straßenleuchte, eine in der DDR… …   Deutsch Wikipedia

  • RSL Cold & Hot Springs Resort Suao — (Suao,Тайвань) Категория отеля: Адрес: No.301, Jhongyuan Road, S …   Каталог отелей

  • RSL (disambiguation) — RSL may refer to:* Radcliffe Science Library, at Oxford University * RAISE Specification Language, a formal approach to software development * Real Salt Lake, a US soccer club * Registered Social Landlord, a British independent public housing… …   Wikipedia

  • RSL Com Deutschland GmbH — RSL Com Deutschland GmbH,   Telefonanbieter …   Universal-Lexikon

  • RSL — received signal level …   Military dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»