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


Авторские права

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

Здесь можно скачать бесплатно "W Cat - Язык программирования Euphoria. Справочное руководство" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Язык программирования Euphoria. Справочное руководство
Автор:
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

Описание и краткое содержание "Язык программирования Euphoria. Справочное руководство" читать бесплатно онлайн.



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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.

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






Выдаёт 1, если x является атомом, иначе выдаёт 0.

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

Данная команда, в основном, служит для объявления переменных типа atom. Но вы можете также применять её подобно вызову функции, чтобы определить, не является ли объект атомом.

Пример 1:


atom a

a = 5.99


Пример 2:


object line


line = gets(0)

if atom(line) then

puts(SCREEN, "конец файла\n")

end if


См. также:

sequence, object, integer, атомы и ряды


atom_to_float32


Синтаксис:

include machine.e

s = atom_to_float32(a1)

Описание:

Преобразует атом Euphoria в ряд из 4-х однобайтовых величин. Эти 4 байта содержат представление числа с плавающей точкой в 32-х битном формате по стандарту IEEE.

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

Атомы Euphoria могут иметь величины, соответствующие 64-битным числам с плавающей точкой стандарта IEEE, так что вы можете потерять точность при преобразовании их к 32-битным числам (16 значащих цифр против 7). Диапазон показателей экспонент также намного шире для 64-битных чисел, чем в 32-битном формате (308 против 38), поэтому некоторые атомы могут оказаться слишком большими или слишком маленькими для представления их в 32-битном формате. В этом случае вы получите одну из специальных 32-битных величин: inf или -inf (бесконечность или -бесконечность). Чтобы избежать этих ограничений, вы можете применить atom_to_float64().

Целочисленные величины также могут быть преобразованы в 32-битный формат с плавающей точкой.

Пример:


fn = open("numbers.dat", "wb")

puts(fn, atom_to_float32(157.82)) -- запись 4-х байтов в файл


См. также:

atom_to_float64, float32_to_atom


atom_to_float64


Синтаксис:

include machine.e

s = atom_to_float64(a1)

Описание:

Преобразует атом Euphoria в ряд, состоящий из 8 однобайтовых величин. Эти 8 байтов содержат представление числа с плавающей точкой в 64-битном формате по стандарту IEEE.

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

Все атомы Euphoria имеют величины, которые могут быть представлены как 64-битные числа с плавающей точкой в формате по стандарту IEEE, поэтому вы можете преобразовать любой атом в 64-битный формат без всяких потерь точности.

Целочисленные величины также могут быть преобразованы в 64-битный формат с плавающей точкой.

Пример:


fn = open("numbers.dat", "wb")

puts(fn, atom_to_float64(157.82)) -- запись 8 байтов в файл


См. также:

atom_to_float32, float64_to_atom


bits_to_int


Синтаксис:

include machine.e

a = bits_to_int(s)

Описание:

Преобразует ряд, состоящий из единиц и нулей, дающих двоичное представление числа, в положительное десятичное число. Младший значащий "бит" должен быть первым членом ряда, s[1].

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

Если вывести ряд s на печать, то младшие биты будут находиться слева, то есть в "инверсном" порядке по отношению к обычной форме записи, принятой для многоразрядных чисел, но это соглашение удобно, так как позволяет иметь возрастающие индексы для доступа к битам по мере возрастания веса битов.

Пример:


a = bits_to_int({1,1,1,0,1})

-- a равно 23 (двоичное 10111)


См. также:

int_to_bits, операции на рядах


bk_color


Синтаксис:

include graphics.e

bk_color(i)

Описание:

Устанавливает цвет фона в один из 16 стандартных цветов. В пиксельных режимах весь экран перекрашивается немедленно. В текстовых режимах любые новые символы, которые вы печатаете, будут появляться на фоне с новым цветом. В некоторых текстовых режимах для фона доступны только 8 различных цветов.

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

16 стандартных цветов определены как константы в файле graphics.e.

В пиксельных режимах цвет 0, который обычно соответствует чёрному (BLACK), будет установлен в то самое значение палитры {r,g,b}, что и цвет номера i.

В некоторых пиксельных режимах на краю экрана появляется цветной бордюр. В 256-цветных режимах цвет бордюра соответствует 17-ому цвету палитры. Вы можете управлять цветом бордюра подобно всем другим цветам, используя процедуру palette().

В текстовых режимах для того, чтобы восстановить исходный цвет фона, когда ваша программа заканчивается, т.е. 0 - ЧЁРНЫЙ, вы должны вызвать процедуру bk_color(0). Если курсор находится на нижней строке экрана, целесообразно напечатать что-нибудь перед остановкой вашей программы. Напечатайте хотя бы '\n', и этого может быть достаточно.

Пример:


bk_color(BLACK)


См. также:

text_color, palette


bytes_to_int


Синтаксис:

include machine.e

a = bytes_to_int(s)

Описание:

Преобразует 4-х элементный ряд, состоящий из байтов, в атом. Элементы ряда s должны находиться в порядке, предусмотренном для 32-битных целых чисел на машинах 386+, т.е. младший значащий байт первый - s[1].

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

Результат может быть больше, чем допускает тип integer, поэтому вы должны присваивать его значение атому.

Ряд s будет обычно содержать положительные величины, которые ранее были прочитаны оператором peek() из 4-х последовательных ячеек памяти.

Пример:


atom int32


int32 = bytes_to_int({37,1,0,0})

-- int32 равно 37 + 256*1 = 293


См. также:

int_to_bytes, bits_to_int, peek, peek4s, peek4u, poke


...

от C до D


call


Синтаксис:

call(a)

Описание:

Вызывает подпрограмму на машинном языке, участок памяти с кодом которой начинается по адресу a. Подпрограмма должна запомнить содержимое всех регистров, которые она использует, а затем восстановить их в первоначальное состояние. Для обратной передачи управления интерпретатору Euphoria в этой подпрограмме должна быть предусмотрена инструкция RET (#C3).

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

Вы можете подготовить участок памяти для подпрограммы и затем по этому адресу разместить байты машинного кода. Вы можете подготовить другие участки памяти для данных и параметров, которыми машинный код может оперировать. Адреса этих других участков могут быть размещены в машинном коде.

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

demo\callmach.ex

См. также:

allocate, free, peek, poke, poke4, c_proc, define_c_proc


call_back


Платформа:

WIN32, Linux, FreeBSD

Синтаксис:

include dll.e

a = call_back(i)

или

a = call_back({i1, i})

Описание:

Выдаёт машинный адрес для Euphoria-подпрограммы по её идентификатору (номеру) i. Этот адрес может затем использоваться или Windows, или внешней функцией Си (из динамически подгружаемой библиотеки (.dll) Windows или общей библиотеки (.so) Linux/FreeBSD) как 32-битный "обратный" адрес для вызова вашей Euphoria-подпрограммы. Под Windows вы можете также задать i1, доопределив тем самым формат (соглашение о форме) вызова Си для вашей подпрограммы. Если i1 записано как '+', будет применён формат cdecl. По умолчанию применяется формат stdcall. На платформах Linux и FreeBSD следует использовать только первую форму (без i1), так как там, в отличие от Windows, действует лишь стандартный формат, stdcall.

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

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

Когда ваша подпрограмма вызвана, все аргументы будут 32-битными числами без знака (положительными), поэтому вы должны объявить каждый аргумент в вашей подпрограмме как atom, независимо от вашего желания устроить более жесткий контроль. Ваша подпрограмма должна выдавать 32-битную целочисленную величину.

Вы можете также использовать адрес обратного вызова, чтобы задать подпрограмму Euphoria в качестве обработчика исключения в функции signal() под Linux/FreeBSD, когда, например, вам необходимо принять сигнал SIGTERM и произвести аккуратное завершение вашей программы. Да, действительно, иногда некоторые серверы Web выдают сигнал SIGTERM тому процессу CGI, который захватил слишком много машинного времени, и ваша программа должна быть готовой к такому повороту событий.

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

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

demo\win32\window.exw, demo\linux\qsort.exu

См. также:

routine_id, platform_r.htm


c_func


Платформа:

WIN32, Linux, FreeBSD

Синтаксис:

x = c_func(i, s)

Описание:

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


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

Книги похожие на "Язык программирования Euphoria. Справочное руководство" читать онлайн или скачать бесплатно полные версии.


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

Все книги автора W Cat

W Cat - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.