Eglibc
- 1 year ago
- 0
- 0
EGL ( англ. Enterprise Generation Language ) — современный высокоуровневый язык программирования для создания бизнес-приложений . Разработан IBM . EGL схож по синтаксису с другими языками программирования для упрощения обучения. Программы на EGL обычно создаются и отлаживаются в виде EGL-программы, а затем могут быть скомпилированы в COBOL , Java или JavaScript .
Каждая программа EGL имеет единственную точку входа: функцию main(). Функции EGL состоят из операторов EGL, переменных и констант . Программа, выводящая строку на экран:
Program HelloWorld
const GREETING string = "Hello, ";
function main()
myName string = "John";
sayHello(myName);
end
function sayHello(name String in)
SysLib.writeStdOut(GREETING + name + "!");
end
end
Наборы различных данных могут быть объединены в Запись ( Record ). Пример записи CustomerRecord с шестью полями:
Record CustomerRecord type BasicRecord
customerNumber INT;
customerName STRING;
customerAddr1 STRING;
customerAddr2 STRING;
customerAddr3 STRING;
customerBalance MONEY;
end
Для обмена данными с СУБД , EGL имеет специальный тип записей, называемые . В следующем примере запись Employee связывается с SQL -таблицей Employee :
record Employee type sqlRecord { tableNames =[["Employee"]
], keyItems =[EMPNO]}
EMPNUMBER string{ column = "EMPNO", maxLen = 6};
FIRSTNME string{ sqlVariableLen = yes, maxLen = 12};
MIDINIT string{ isSqlNullable = yes, maxLen = 1};
LASTNAME string{ sqlVariableLen = yes, maxLen = 15};
DEPT string{ column = "WORKDEPT", isSqlNullable = yes, maxLen = 3};
PHONENO string{ isSqlNullable = yes, maxLen = 4};
HIREDATE date{ isSqlNullable = yes};
end
Сервисами ( Service ) в EGL называют наборы функций, которыми могут пользоваться другие приложения. В примере определен сервис с двумя функциями :
package com.mycompany.services;
service EmployeeService
function getEmployees() returns(Employee[])
records Employee[0]; // определяет пустой массив записей
get records; // запрашивает записи из СУБД
return (records); // возвращает записи
end
function addEmployee(emp Employee in) returns (boolean)
try
add remp;
return (true);
onException (ex AnyException)
return (false);
end
end
end
Код в EGL организуется в пакеты (package).