1.3 Запуск программы
Программы Euphoria запускаются из командной строки вводом команды ex , exw или exu , сопровождаемой именем главного файла программы Euphoria. Вы также можете вводить здесь дополнительные слова (известные как аргументы командной строки ). Ваша программа может вызывать встроенную функцию command_line(), чтобы прочесть всю введённую вами командную строку. Версия интерпретатора Euphoria для DOS32 называется ex.exe . Версия для WIN32 называется exw.exe . Версия для Linux/FreeBSD называется exu . Как это здесь принято, главные файлы программ Euphoria имеют расширения .ex , .exw или .exu . Другие файлы Euphoria, предназначенные для включения в главную программу, имеют расширения .e или иногда .ew или .eu . Чтобы сократить команду, вы можете опускать ".ex", и интерпретатор ex будет подставлять это расширение для вас автоматически. exw.exe будет подставлять ".exw", а exu -- ".exu". Каждый из интерпретаторов перебирает и другие возможные расширения, если файл с основным расширением не нашёлся. Если файла с заданным именем, но ни с одним из условленных расширений, нет в текущем каталоге, проверяются каталоги из переменной окружения PATH (сначала с использованием основного расширения, а затем остальных).
Вы можете перенаправлять стандартные ввод и вывод из программы Euphoria, например:
ex filesort.ex sorted.txt
или просто,
ex filesort sorted.txt
В отличие от многих других компиляторов и интерпретаторов, здесь нет аргументов командной строки, предназначенных для изменения режима собственно интерпретаторов ex , exw или exu . Интерпретатор реагирует только на имя вашей программы Euphoria, и если вы не указали это имя, он пригласит вас к его вводу.
Для часто используемых программ под DOS/Windows вам могут пригодиться маленькие пакетные .bat файлы, к примеру, myprog.bat , содержащий пару команд наподобие показанных ниже:
@echo off
ex myprog.ex %1 %2 %3
Первая команда выключает отображение собственно команд на экране. Вторая - запускает ex myprog.ex с тремя или менее аргументами командной строки. Просмотрите описание функции command_line(), там есть пример, как можно читать эти аргументы по ходу вашей программы. Если вашей программе требуется большее число аргументов, нужно добавить %4 %5 и т.д. Наличие .bat-файла сэкономит вам несколько нажатий на клавиши при наборе ex (или exw ) каждый раз, когда вы запускаете свою любимую программу, т.е. вы можете просто ввести:
myprog
вместо:
ex myprog
К сожалению, DOS не позволяет перенаправление стандартных ввода и вывода, если вы используете .bat -файл.
Под Linux/FreeBSD, вы можете задать путь к интерпретатору Euphoria в первой строчке вашего главного файла. То есть, если ваша программа называется, например, foo.exu:
#!/home/me/euphoria/bin/exu
procedure foo()
? 2+2
end procedure
foo()
Затем вы делаете ваш файл исполняемым:
chmod +x foo.exu
А затем просто вызываете его на исполнение:
foo.exu
чтобы запустить свою программу. Вы можете даже укоротить имя программы до простого "foo". Интерпретатор Euphoria игнорирует первую строку, если она начинается с #! . А командный интерпретатор ОС Linux трактует такую строку как путь к программе (т.е. интерпретатору Euphoria), предназначенной для открытия (запуска) данного файла. Но будьте внимательны - эта первая строка должна заканчиваться в стиле Linux/FreeBSD символом перевода строки \n, а не в стиле DOS/Windows символами возврата каретки - перевода строки \r\n, иначе командный интерпретатор Linux/FreeBSD может сбиться. Если ваш файл окутан, вы должны указывать путь к backendu, а не к exu.
Что касается связанных файлов, их можно получить, запустив bind.bat (DOS32) или bindw.bat (WIN32), или bindu
(Linux/FreeBSD), чтобы связать вашу программу Euphoria с ex.exe , exw.exe или exu в единый самостоятельный двоичный исполняемый файл (типа .exe для DOS/Windows). С таким самостоятельным .exe -файлом вы можетеуже и перенаправлять стандартные ввод и вывод. Окутывание и связывание подробно обсуждаются в разделе 1.5 Распространение программы .
Используя транслятор с Euphoria на Си, вы можете получить другой вариант самостоятельного .exe-файла, который обычно будет исполняться значительно быстрее, чем связанная программа.
exu или ex.exe и exw.exe находятся в каталоге euphoria\bin , который должен быть в пути поиска. Переменная окружения EUDIR должна указывать на главный каталог Euphoria, т.е. c:\euphoria .
1.3.1 Запуск под Windows
Вы можете запускать программы Euphoria прямо из окружения Windows или из оболочки DOS, которую вы открыли из Windows. Ассоциируя .ex -файлы с интерпретатором ex.exe , а .exw -файлы с интерпретатором exw.exe , вы можете затем просто сделать двойной щелчок мышью на .ex - или .exw -файле, чтобы запустить их на исполнение. Под Windows вам следует задать новый тип файла для расширения .ex , последовательно щёлкнув на значке My Computer и опциях / view / options / file types. Несколько программ Euphoria могут исполняться одновременно в разных окнах. Если вы преобразовали свою программу в .exe -файл, вы можете запускать её двойным щелчком мыши на её значке - как и любую другую программу Windows.
1.3.2 Использование файла памяти
Если ваша программа Euphoria исполняется под Linux/FreeBSD или Windows (или в оболочке DOS под Windows) и ей недостаточно свободной оперативной памяти, она начинает использовать "виртуальную память". Операционная система предоставляет такую память вашей программе автоматически, выгружая часть менее актуального кода и данных из оперативной памяти на диск, в системный файл памяти (его ещё называют файлом "подкачки" или своп-файлом). Чтобы изменить размер файла памяти под Windows, щёлкните Control Panel / 386 Enhanced / "virtual memory...". Под OS/2 вы можете подстроить величину "DPMI_MEMORY_LIMIT", щёлкнув на значке виртуальной DOS-машины, "DOS Settings", чтобы выделить больше расширенной памяти для своей программы.
Под чистой DOS, вне Windows, системный файл памяти отсутствует, поэтому расширитель DOS, встроенный в интерпретатор ex.exe (DOS32), создаёт свой собственный файл памяти для использования вашей программой. Прочтите файл platform_r.doc, там есть кое-какие подробности на этот счёт.
1.4 Редактирование программы
Вы можете использовать любой текстовый редактор, предназначенный для программистов, чтобы редактировать программы Euphoria. Тем не менее, Euphoria поставляется со своим собственным специальным редактором, который написан полностью на Euphoria. Введите: ed , добавив полное имя файла, который вы желаете редактировать (расширения .ex/.exw/.exu также необходимо указывать). Вы можете здесь редактировать и любые другие файлы обычного текстового формата. Когда вы редактируете файл Euphoria, доступны некоторые преимущества, такие как цветное подсвечивание правильного синтаксиса и автозавершение ряда типовых конструкций языка - чтобы сделать вашу работу полегче.