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

Тут можно читать бесплатно W Cat - Язык программирования Euphoria. Справочное руководство. Жанр: Компьютеры и Интернет / Программирование, год неизвестен. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
W Cat - Язык программирования Euphoria. Справочное руководство

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

Прочтите описание перед тем, как прочитать онлайн книгу «W Cat - Язык программирования 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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

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

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

- выдаёт адрес свободного участка памяти заданного объёма

free (освободить_память)

- освобождает участок памяти, ранее выделенный по команде allocate

allocate_low (выделить_память_внизу)

- выдаёт адрес свободного участка нижней памяти (адреса менее 1Mb) (DOS32)

free_low (освободить_память_внизу)

- освобождает участок памяти, ранее выделенный по команде allocate_low (DOS32)

allocate_string (поместить_строку_в_память)

- размещает в памяти заданную строку с нуль-терминатором и выдаёт её адрес

register_block (учесть_блок)

- регистрирует в списке безопасных блоков участок памяти, ранее уже выделенный какой-либо подпрограммой

unregister_block (вычеркнуть_блок)

- вычёркивает из списка безопасных ранее зарегистрированный блок памяти (см. выше)

get_vector (получить_адрес_вектора)

- выдаёт адрес обработчика прерывания (DOS32)

set_vector (установить_адрес_вектора)

- устанавливает адрес обработчика прерывания (DOS32)

lock_memory (запереть_память)

- предохраняет заданный блок памяти от перенесения на диск при работе виртуальной памяти (DOS32)

int_to_bytes (байты_из_целого)

- выдаёт 4 байта, соответствующие заданному целому

bytes_to_int (целое_из_байтов)

- выдаёт целое, соответствующее заданным 4 байтам

int_to_bits (биты_из_целого)

- выдаёт ряд битов, соответствующий заданному целому

bits_to_int (целое_из_битов)

- выдаёт целое, соответствующее заданному ряду битов

atom_to_float64 (атом_в_плавающее_64_бит)

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

atom_to_float32 (атом_в_плавающее_32_бит)

- выдаёт ряд из 8 байтов, соответствующий заданному атому, в 32-битном формате IEEE для чисел с плавающей точкой

float64_to_atom (плавающее_64_бит_в_атом)

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

float32_to_atom (плавающее_32_бит_в_атом)

- выдаёт атом, соответствующий ряду из 4 байтов в 32-битном формате IEEE для чисел с плавающей точкой

set_rand (установить_датчик_случайных_чисел)

- устанавливает датчик случайных чисел в режим выдачи помеченной серии чисел с восстанавливаемым порядком

use_vesa (использовать_vesa)

- переключает интерпретатор Euphoria в режим выполнения рекомендаций видеостандарта VESA (DOS32)

crash_file (файл_отчета_об_авосте)

- определяет файл для записи диагностической информации, если Euphoria обнаруживает ошибку в вашей программе

crash_message (сообщение_об_авосте)

- определяет сообщение об ошибке, которое будет выводиться, если Euphoria обнаруживает ошибку в вашей программе

crash_routine (подпрограмма_по_авосту)

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

2.14 Динамические вызовы

Данные подпрограммы позволяют вам вызывать процедуры и функции Euphoria с использованием вместо обычного имени уникального целого числа, известного как идентификационный номер подпрограммы.

routine_id (подпрограмма_номер)

- выдаёт уникальный идентификационный номер, автоматически присваиваемый заданной подпрограмме Euphoria

call_proc (вызвать_процедуру)

- вызывает процедуру Euphoria по заданному идентификационному номеру

call_func (вызвать_функцию)

- выдаёт результат функции Euphoria, вызванной по заданному идентификационному номеру

2.15 Вызов функций Си (WIN32 и Linux)

Просмотрите файл platform_r.htm, где подробно описано программирование на Euphoria для операционных систем WIN32 и Linux.

open_dll (открыть_dll)

- открывает динамически подключаемую библиотеку Windows (.dll-файл) или общую библиотеку Linux (.so-файл)

define_c_proc (определить_процедуру_Си)

- определяет номер функции Си типа VOID, которая не выдаёт величины, или же когда ваша программа, используя данную функцию Си, игнорирует величину, выдаваемую этой функцией

define_c_func (определить_функцию_Си)

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

define_c_var (определить_переменную_Си)

- выдаёт адрес в памяти для заданной переменной Си

c_proc (процедура_Си)

- вызывает функцию Си, игнорируя выдаваемую ею величину

c_func (функция_Си)

- вызывает функцию Си и выдаёт её величину

call_back (обратный_вызов)

- выдаёт 32-битный машинный адрес подпрограммы Euphoria по заданному её номеру для использования в качестве адреса обратного её вызова из операционной системы

message_box (табличка_сообщения)

- выводит диалоговое окно для получения от пользователя ответа Да/Нет/Сброс

free_console (освободить_консоль)

- удаляет текстовое окно консоли

instance (экземпляр)

- выдаёт идентификатор состояния текущей программы

2.16 Многозадачность

Набор подпрограмм данного раздела позволяет вам организовывать в своей программе множественные независимые задачи, решаемые в режиме разделения времени. Каждая задача имеет свою собственную текущую исполняемую команду, свой собственный стек вызовов и своё собственное множество частных переменных. Локальные (местные) и глобальные переменные программы являются общими для всех задач. Когда в задаче вызывается подпрограмма task_yield(), выполнение задачи приостанавливается, управление передаётся диспетчеру задач Euphoria, и он решает, какую задачу из общей очереди следует поставить на дальнейшее исполнение.

Демонстрационная игра The Language War, lw.ex, широко использует механизм многозадачности для создания модели боя, в котором участвуют многочисленные независимо движущиеся корабли, торпеды, фазоры и т.д. Просмотрите также демо-программу taskwire.exw для Windows, и демо-программу news.exu для Linux и FreeBSD.

task_clock_start (задача_часы_старт)

- перезапускает часы диспетчера задач

task_clock_stop (задача_часы_стоп)

- останавливает часы диспетчера задач

task_create (задача_новая)

- создаёт новую задачу

task_list (задача_список)

- выдаёт список всех задач

task_schedule (задача_план)

- задаёт диспетчеру план решения задачи

task_self (задача_какая)

- выдаёт идентификатор текущей задачи (номер)

task_status (задача_состояние)

- выдаёт текущее состояние задачи (активна, приостановлена, прервана)

task_suspend (задача_стоп)

- приостанавливает решение задачи

task_yield (задача_другая)

- управление задачами передаётся диспетчеру, запускающему на исполнение другую задачу.

...

3. Алфавитный справочник по стандартным подпрограммам

от A до B

?

Синтаксис:

? x

Описание:

Это просто короткая форма записи для команды: pretty_print(1, x, {}), по которой на экране осуществляется печать величины объекта, заданного выражением. Для более наглядного отображения структуры объекта печать производится в столбик со скобками, запятыми и отступами. Единственное отличие от pretty_print() заключается в том, что печать по команде ? завершается ещё и автоматическим переводом курсора в начало новой строки.

Пример:

? {1, 2} + {3, 4} -- будет напечатано {4, 6}

См. также:

pretty_print, print

abort

Синтаксис:

abort(i)

Описание:

Прерывает исполнение программы. Аргумент i представляет собой небольшую целочисленную величину кода окончания программы, выдаваемого в операционную систему. Код окончания 0 в общем случае соответствует успешному завершению программы. Другие коды используются для указания на характер ошибки, по которой программа прервана. Пакетные программы DOS (.bat-файлы) могут считывать величину этого кода с помощью команды errorlevel. Программы Euphoria могут считывать эту величину, если дочерняя программа была запущена из подпрограммы system_exec().

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

Подпрограмма abort() бывает особенно полезна, когда необходимо немедленно прервать исполнение программы изнутри глубоко вложенных вызовов подпрограмм, например, из-за обнаруженной опасной ошибки.

Если вы не применяете abort(), а программа завершается естественным порядком, интерпретаторы ex.exe/exw.exe/exu выдают в операционную систему код окончания 0. Если ваша программа прерывается по обнаруженной Euphoria ошибке времени компиляции или времени исполнения, выдаётся код 1.

Пример:

if x = 0 then

puts(ERR, "не могу делить на 0 !!!\n")

abort(1)

else

z = y / x

end if

См. также:

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