Язык программирования Euphoria - [4]

Шрифт
Интервал

ed -- это простой редактор текстового режима, который работает на консолях DOS, Linux, FreeBSD и Windows. Поинтересуйтесь также превосходным редактором ee.ex Дэвида Куни для DOS и Linux/FreeBSD. Вы можете получить ee.ex на сайте Euphoria . Имеются также редакторы для Windows, ориентированные на Euphoria. Их тоже можно здесь найти.


1.5 Распространение программы

Euphoria предлагает 4 различных пути распространения программы.

По первому методу вы просто снабжаете своих пользователей файлом ex.exe или exw.exe , или exu в совокупности со своим главным файлом Euphoria (.ex, .exw, или .exu) и любыми библиотечными файлами (.e), которые необходимы для работы вашей программы (включая любые стандартные из каталога euphoria\include ). Если файлы исходного кода Euphoria размещены все вместе в одном каталоге, а ex.exe, exw.exe или exu находятся там же или где-то по пути поиска, то ваш пользователь может запустить вашу программу, введя команду ex , ( exw ) или ( exu ) и сопроводив её путём к вашему главному файлу .ex, .exw, или .exu. Вы можете также сделать маленький .bat -файл, так чтобы люди не набирали при вводе лишнюю команду ex ( exw ). Этот метод предполагает, что вы не возражаете против того, чтобы поделиться исходным кодом своей программы со своими пользователями.

Биндер даёт вам ещё два метода распространения программы. Вы можете окутать свою программу, или вы можете связать свою программу. Окутывание объединяет все библиотечные .e-файлы, которые нужны вашей программе, вместе с вашим главным файлом в единственный .il-файл. Связывание объединяет вашу окутанную программу с backend.exe, backendw.exe или backendu в единственный, отдельный исполняемый (.exe) файл. Например, если ваша программа называется "myprog . ex", вы можете создать "myprog . exe", которая будет исполняться точно так же как и исходная. Прочтите подробные инструкции по окутыванию и связыванию -- bind_r.doc.

И, наконец, четвертый метод реализуется с помощью транслятора с Euphoria на Си, который транслирует вашу программу Euphoria на язык C, а затем компилирует результирующий код C компилятором C, создавая отдельный скоростной исполняемый файл (.exe), отличающийся от того, который производится посредством связывания.


1.5.1 Лицензия

Система программирования Euphoria является свободной и открытой и вобрала в себя труд многих людей. Вы имеете полное право распространять любую программу Euphoria, которую вы разработали, без каких бы то ни было авторских отчислений. Вы можете также распространять файлы ex.exe , exw.exe и exu , если они необходимы для запуска вашей программы. То же самое относится и к исполнительным блокам интерпретатора: backend.exe , backendw.exe и backendu . Вы можете окутывать или связывать ваши программы и распространять результирующие файлы также без авторских отчислений.

Вы можете присоединить любой файл исходного кода Euphoria, имеющийся в данном пакете, к своей программе "как есть", либо со своими модификациями. (Вам, вероятно, понадобится несколько стандартных файлов из каталога euphoria\include для создания любой большой программы).

Нам будет приятно, если вы скажете людям, что разработали свою программу с использованием Euphoria, и дадите им адрес http://www.RapidEuphoria.com нашего узла Web, но мы не требуем подобного рода изъявлений благодарности.

Файлы значков, такие как euphoria.ico из каталога euphoria\bin, могут распространяться с вашими изменениями или без них.

Высокоскоростная версия исполнительного блока интерпретатора Euphoria написана на ANSI C, и может быть откомпилирована с помощью многих различных компиляторов Си. Полный исходный код имеется в каталоге euphoria\source, вместе с execute.e, альтернативной версией написанного на Euphoria исполнительного блока. Наша весьма щедрая Лицензия открытого кода позволяет и персональное, и коммерческое использование кода, и, в отличие от многих других лицензий открытого кода, ваши изменения в этом коде не должны быть обязательно также открытыми.

Некоторые дополнительные ограничения со стороны третьих лиц могут иметь место, когда вы используете транслятор с Euphoria на Си .


2. Определение языка


2.1 Объекты


2.1.1 Атомы и ряды

Все данные, обрабатываемые в Euphoria, называются объектами, а объекты могут быть атомами или рядами. Каждый атом -- это единственное число. Каждый ряд -- это набор объектов.

Те объекты, которые содержатся в ряде, могут быть произвольной смесью атомов и рядов. Ряд представляется списком объектов, заключённым в фигурные скобки. Объекты в этом списке разделены запятыми. Атомы могут иметь любую величину в пределах от приблизительно -1e300 (минус 10 в степени 300) до +1e300 (10 в степени 300) с 15-ю значащими десятичными цифрами -- целую или двойной точности с плавающей точкой. Вот некоторые примеры объектов Euphoria:


>-- примеры атомов:

>0

>1000

>98.6

>-1e6


>-- примеры рядов:

>{2, 3, 5, 7, 11, 13, 17, 19}

>{1, 2, {3, 3, 3}, 4, {5, {6}}}

>{{"jon", "smith"}, 52389, 97.25}

>{} -- пустой ряд


Числа могут быть шестнадцатеричными. Например:


>#FE -- 254

>#A000 -- 40960

>#FFFF00008 -- 68718428168


Еще от автора Неизвестный Автор
Галчонок

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


Призраки ночи

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


Закат  вечности

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


mmmavro.org | День 131, Победа

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


mmmavro.org | День 132, Поэт

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


Песнь о Нибелунгах

…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.