W Cat - Язык программирования Euphoria. Справочное руководство

Тут можно читать онлайн W Cat - Язык программирования Euphoria. Справочное руководство - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Язык программирования Euphoria. Справочное руководство
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.25/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

W Cat - Язык программирования Euphoria. Справочное руководство краткое содержание

Язык программирования Euphoria. Справочное руководство - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».


Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.

[Материал из Википедии]

Язык программирования Euphoria. Справочное руководство - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования Euphoria. Справочное руководство - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Пример:

function crash(object x)

-- в случае пожара ...

-- (под Linux) отправить сообщение e-mail, содержащее файл ex.err

system("mail -s \"crash!\" myname@xxx.com < ex.err > /dev/null", 2)

return 0

end function

crash_routine(routine_id("crash"))

См. также:

abort, crash_file, crash_message, отладка и профилирование

current_dir

Синтаксис:

include file.e

s = current_dir()

Описание:

Выдаёт имя текущего рабочего каталога (директории, папки, фолдера).

Комментарии:

После имени текущего каталога не будет ни косой черты, ни обратной косой черты, за исключением случая под DOS/Windows, в корневом каталоге диска, где вы получите, например, C:\

Пример:

sequence s

s = current_dir()

-- s будет равно "C:\EUPHORIA\DOC", если вы находитесь в этом каталоге

См. также:

dir, chdir, getenv

cursor

Платформа:

WIN32, DOS3 2

Синтаксис:

include graphics.e

cursor(i)

Описание:

Задаёт форму курсора. Библиотека graphics.eсодержит глобальные константы:

global constant NO_CURSOR = #2000,

UNDERLINE_CURSOR = #0607,

THICK_UNDERLINE_CURSOR = #0507,

HALF_BLOCK_CURSOR = #0407,

BLOCK_CURSOR = #0007

Вторая и четвертая шестнадцатиричные цифры (слева) дают номера верхнего и нижнего рядов пикселов в изображении курсора. От первой цифры зависит, будет курсор видимым или нет. Например, #0407 включает с 4-го по 7-ой ряд пикселов.

Комментарии:

В пиксельных экранных режимах курсор не отображается, только в текстовых.

Пример:

cursor(BLOCK_CURSOR)

См. также:

graphics_mode, text_rows

custom_sort

Синтаксис:

include sort.e

s2 = custom_sort(i, s1)

Описание:

Сортирует элементы ряда s1, используя заданную сравнивающую функцию с номером(идентификатором) i. Выдаёт отсортированный ряд.

Комментарии:

Заданная вами заказная сравнивающая функция должна быть функцией двух аргументов наподобие Euphoria-функции compare(). Она должна сравнивать два объекта и выдавать -1, 0 или +1.

Пример программы:

demo\csort.e x

См. также:

sort, compare, routine_id

date

Синтаксис:

s = date()

Описание:

Выдаёт ряд со следующей информацией:

{год, -- начиная с 1900

месяц, -- январь = 1

день, -- день месяца, начиная с 1

час, -- от 0 до 23

минута, -- от 0 до 59

секунда, -- от 0 до 59

день недели, -- воскресенье = 1

день года} -- 1 января = 1

Пример:

now = date()

-- now равно: {95,3,24,23,47,38,6,83}

-- т.е. пятница, 24 марта 1995 года, 23 часа 47 минут 38 секунд, 83-ий день года

Комментарии:

Величина, выдаваемая для года, является числом лет, начиная с 1900, а не последними 2-мя цифрами года. В 2000 году эта величина составила 100. В 2001 это было 101 и т.д. Естественно, часы и календарь вашего компьютера должны быть правильно установлены на текущие время и дату.

См. также:

time

define_c_func

Синтаксис:

include dll.e

i1 = define_c_func(x1, x2, s1, i2)

Описание:

Выдаёт номер(идентификатор) подпрограммы для заданной Си-функции или же функции машинного кода. Аргументами служат характеристики заданной функции. Выданный номерi1 используется далее в качестве первого аргумента при вызове подпрограммы c_func(), которая и запускает заданную внешнюю функцию на исполнение из Euphoria.

Когда вы задаёте характеристики Си-функции, аргумент x1 должен представлять собой адрес системной библиотеки, содержащей эту Си-функцию. Адрес библиотеки вы должны получить, заранее вызвав функцию open_dll(). Аргумент x2 задаёт имя Си-функции, которая вас интересует. Если define_c_func() не находит заданную Си-функцию, в качестве номера она выдаёт -1. На платформе Windows вы можете перед именем функции добавить символ '+'. Он показывает Euphoria, что для вызова Си-функции предусмотрены правила соглашения cdecl. По умолчанию Euphoria считает, что подпрограммы Си вызываются по правилам соглашения stdcall.

Когда вы задаёте характеристики функции машинного кода, аргумент x1 должен быть пустым рядом, "" или {}, а x2 - содержать адрес функции машинного кода. Байты машинного кода должны быть заранее размещены в участке памяти, выделенном функцией allocate(), которая и выдаёт адрес, используемый далее для размещения функции машинного кода и задания её характеристик. На платформе Windows функции машинного кода обычно следуют правилам соглашения stdcall, но если вам вместо этого необходимо использование правил cdecl, вы можете записать x2 как ряд {'+', адрес}вместо подачи значения адресакак атома.

Аргумент s1 представляет собой список типов аргументов функции. Аргумент i2 задаёт тип величины, выдаваемой функцией. Полный список типов Си, содержащий их определения, находится в библиотеке dll.e, и эти же типы могут быть использованы для назначения типов данных для функции машинного кода:

global constant C_CHAR = #01000001,

C_UCHAR = #02000001,

C_SHORT = #01000002,

C_USHORT = #02000002,

C_INT = #01000004,

C_UINT = #02000004,

C_LONG = C_INT,

C_ULONG = C_UINT,

C_POINTER = C_ULONG,

C_FLOAT = #03000004,

C_DOUBLE = #03000008

Си-функция, характеристики которой вы задаёте с использованием define_c_func(), может быть создана с помощью транслятора с Euphoria на Си. В этом случае вы сможете подавать в неё данные типов Euphoria, а она сможет выдавать данные типов Euphoria. Полный список типов Euphoria с их определениями находится в библиотеке dll.e:

global constant

E_INTEGER = #06000004,

E_ATOM = #07000004,

E_SEQUENCE= #08000004,

E_OBJECT = #09000004

Комментарии:

Аргументы Си-функций могут быть любого целочисленного типа Си и типа указателя (пойнтера) Си. Величины этих же типов и выдаются Си-функциями. Если аргументы Си-функции имеют тип двойной точности или с плавающей точкой, то в их качестве могут использоваться атомы Euphoria, а если Си-функция выдаёт величину такого типа, то эта величина может быть использована далее как атом Euphoria.

Аргументы с типами, для представления которых достаточно 4-х или меньше байтов, все подаются одним и тем же порядком, поэтому нет необходимости быть слишком пунктуальным, выбирая тот или иной тип для обозначения 4-х байтового аргумента. Тем не менее, строгое различение величин со знаком и без знака может быть важным при назначении типа величины, выдаваемой функцией.

В настоящее время не существует метода подачи в Си-функцию структуры Си по величине или получения структуры Си в качестве результата. Вы можете подать как аргумент лишь указатель на исходную структуру и получить результат в виде указателя на модифицированную структуру.

Если вы не заинтересованы в получении и использовании величины, выдаваемой Си-функцией, вам следует обратиться к паре подпрограмм define_c_proc() и c_proc().

Если вы используете интерпретатор exw.exe для вызова по правилам cdecl Си-функции, которая выдаёт величину типа с плавающей точкой, такая комбинация может не сработать. Это обусловлено особенностями компилятора Watcom C (используемого для генерации exw.exe), который нестандартным образом обходится с выдаваемыми величинами типа с плавающей точкой при работе по правилам cdecl.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования Euphoria. Справочное руководство отзывы


Отзывы читателей о книге Язык программирования Euphoria. Справочное руководство, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x