С интерпретаторами exw.exe или exu комбинация control-c всегда работает и немедленно прервёт вашу программу, если у вас есть в этом необходимость.
2.6 Специальные команды высшего уровня
Перед тем, как исполнять любую из ваших команд, интерфейсный блок интерпретатора Euphoria быстро читает всю вашу программу полностью от начала и до конца. Все ваши команды проверяются синтаксически и преобразуются в низкоуровневый код на промежуточном языке (IL). Затем исполнительный блок интерпретатора немедленно приступает к исполнению кода IL, размещённого в оперативной памяти. Биндер/шроудер записывает код IL в файл .il на диск для последующих немедленных исполнений с отдельным исполнительным блоком. Транслятор преобразует код IL в код C и записывает программу C на диск. Во всех этих трёх методах преобразования текста исходного кода Euphoria используется один и тот же интерфейсный блок (написанный на Euphoria).
Если ваша программа содержит только объявления подпрограмм и переменных, но не имеет команд высшего уровня, то после её запуска не произойдёт ровно ничего (кроме, конечно, проверки синтаксиса и формирования кода IL). Поэтому в вашей программе должна быть хотя бы одна команда высшего уровня, например, вызывающая вашу главную подпрограмму на исполнение (см. 1.1 Пример программы). Возможны программы, в которых нет ничего, кроме исполняемых команд высшего уровня, без каких бы то ни было подпрограмм. Например, вы можете использовать Euphoria как простой калькулятор, записав просто несколько команд print()(или ?) с выражениями в файл, и затем исполняя его.
Как мы уже видели, на высшем уровне вы можете использовать почти любую командуEuphoria, включая циклы for, циклы while, команды ifи так далее (но не return). Высший уровень - это уровень вашего главного файла на тех участках его текста, которые не относятся к определению подпрограмм, то есть вне тела любых ваших функцийили процедур. Но имеется несколько специальных команд, которые могут появиться в вашей программе только на высшем уровне, это:
* include
* with / without
2.6.1 include (учесть, включить)
Когда вы пишете большую программу, часто бывает удобно разбить её на логически отдельные файлы, используя команды include. Иногда вы захотите повторно использовать уже ранее написанный и проверенный код, свой или другого автора. Вместо копирования такого кода в новую программу вы также можете использовать команды include, чтобы просто сослаться на файл, в котором необходимый вам готовый код уже имеется. Первая форма команды include записывается следующим образом:
include filename По этой команде считывается (компилируется) необходимый вам файл исходного кода Euphoria, имеющий некоторое имя filename. Несколько примеров:
include graphics.e
include \mylib\myroutines.e
* Любой код, расположенный на высшем уровне включаемого файла, будет исполнен. Любые глобальные (global) имена, которые уже были объявлены и определены в вашем главном файле перед включением, будут видны и во включенном файле. Примечание: Но только те из имён, которые объявлены и определены во включаемом файле с ключевым словом global, будут видны и доступны в той части программы, которая следует за командой include. Если задано абсолютное имя файла filename , Euphoria просто откроет файл и начнёт в нём проверку правописания кода. Если задано относительное имя файла filename , Euphoria будет пытаться найти и открыть файл относительно следующих каталогов (директорий) в следующем порядке: Каталог, содержащий текущий файл исходного кода, т.е. файл, который содержит отрабатываемую в данный момент команду include ...
* Каталог, содержащий главный файл, заданный в командной строкеинтерпретатора, транслятора или биндера (шроудера) ...
Если вы задали на своей машине переменную окружения EUINC, Euphoria будет проверять каждый из каталогов, перечисленных в EUINC (слева направо). Переменная EUINC должна задавать список каталогов, отделённых один от другого точкой с запятой (двоеточием на Linux/FreeBSD), подобно тому, как это делается для переменной PATH. Переменная EUINC может быть добавлена в набор переменных окружения вашей операционной системы Linux/FreeBSD или DOS/Windows. (Через Control Panel/Performance & Maintenance/System/Advanced на XP, или AUTOEXEC.BAT на более старых версиях Windows), то есть,
SET EUINC=C:\EU\MYFILES;C:\EU\WIN32LIB
* Переменная EUINC позволяет вам организовать свою систему библиотек Euphoria в соответствии с потребностями конкретных программных проектов, не забивая многочисленными нестандартными библиотеками официальный каталог euphoria\include.
Читать дальше