SlideShare a Scribd company logo
Euphoria tutorials
Euphoria
i
AboutTutorial
This tutorial gives you basic understanding of Euphoria programming language.
Euphoria is simple, flexible, easy to learn, and interpreted high-level programming
language for DOS, Windows, Linux, FreeBSD, and more. This tutorial describes
everything a programmer needs to know such as its environment, data types,
syntax and operators, file handling, and controlling the flow of program.
Audience
This tutorial is designed for the aspiring students who are keen to learn and
understand Euphoria in detail. This tutorial would be of great help for the IT
professionals working as programmers. The enthusiastic readers can access this
tutorial as a source of additional reading.
Prerequisites
Before proceeding with this tutorial, you need to have a basic knowledge of
working on Windows or Linux. You need to be familiar with any programming
language such as C, C++. You need to have sound understanding of operating
system, memory allocation and de-allocation, and basics of efficient programming
and debugging.
Disclaimer&Copyright
 Copyright 2015 by Tutorials Point (I) Pvt. Ltd.
All the content and graphics published in this e-book are the property of Tutorials
Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy,
distribute or republish any contents or a part of contents of this e-book in any
manner without written consent of the publisher. We strive to update the contents
of our website and tutorials as timely and as precisely as possible, however, the
contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides
no guarantee regarding the accuracy, timeliness or completeness of our website
or its contents including this tutorial. If you discover any errors on our website or
in this tutorial, please notify us at contact@tutorialspoint.com.
Euphoria
ii
TableofContents
About Tutorial.............................................................................................................................................
Audience....................................................................................................................................................i
Prerequisites..............................................................................................................................................i
Disclaimer & Copyright ..............................................................................................................................i
Table of Contents......................................................................................................................................ii
1. EUPHORIA OVERVIEW...........................................................................................................1
Euphoria Features.....................................................................................................................................1
Platform Requirements.............................................................................................................................2
Euphoria Limitations.................................................................................................................................2
Euphoria Licensing ....................................................................................................................................2
2. EUPHORIA ENVIRONMENT....................................................................................................4
Linux, Free BSD Installation.......................................................................................................................4
WIN32 and DOS Installation......................................................................................................................6
Euphoria Interpreters ...............................................................................................................................7
3. BASIC SYNTAX .......................................................................................................................8
First Euphoria Program .............................................................................................................................8
Euphoria Identifiers ..................................................................................................................................8
Reserved Words........................................................................................................................................9
Expressions.............................................................................................................................................10
Blocks of Code ........................................................................................................................................10
Multi-Line Statements ............................................................................................................................10
Escape Characters...................................................................................................................................11
Comments in Euphoria............................................................................................................................11
Euphoria
iii
4. EUPHORIA VARIABLES.........................................................................................................13
Variable Declaration ...............................................................................................................................13
Assigning Values .....................................................................................................................................13
Identifier Scope.......................................................................................................................................14
5. EUPHORIA CONSTANTS.......................................................................................................16
The enums ..............................................................................................................................................17
6. EUPHORIA DATATYPES........................................................................................................19
Euphoria Integers....................................................................................................................................19
Euphoria Atoms ......................................................................................................................................19
Euphoria Sequences................................................................................................................................20
Euphoria Objects.....................................................................................................................................21
7. EUPHORIA OPERATORS.......................................................................................................22
The Arithmetic Operators .......................................................................................................................22
The Relational Operators........................................................................................................................23
The Logical Operators .............................................................................................................................25
The Assignment Operators......................................................................................................................27
Miscellaneous Operators ........................................................................................................................29
Precedence of Euphoria Operators .........................................................................................................30
8. EUPHORIA BRANCHING.......................................................................................................32
The if Statement .....................................................................................................................................32
The if...else Statement ............................................................................................................................33
The if...elsif...else Statement...................................................................................................................34
The if...label...then Statement ................................................................................................................35
Nested if...else Statement.......................................................................................................................36
The switch Statement .............................................................................................................................38
Euphoria
iv
The switch...with fallthru Statement.......................................................................................................39
The switch....label Statement .................................................................................................................41
The ifdef Statement ................................................................................................................................43
The ifdef...elsedef Statement..................................................................................................................45
The ifdef...elsifdef Statement..................................................................................................................46
9. EUPHORIA LOOPS ...............................................................................................................48
While Statement.....................................................................................................................................49
The while....with entry Statement ..........................................................................................................50
The while....label Statement...................................................................................................................51
The loop until Statement ........................................................................................................................53
The loop....with entry Statement............................................................................................................54
The loop....label Statement ....................................................................................................................55
The for Loop............................................................................................................................................57
10. EUPHORIA FLOW CONTROL ................................................................................................60
The exit Statement..................................................................................................................................60
The break Statement ..............................................................................................................................61
The continue Statement..........................................................................................................................63
The retry Statement................................................................................................................................64
The goto Statement................................................................................................................................65
11. SHORT CIRCUIT EVALUATION..............................................................................................67
12. EUPHORIA SEQUENCES.......................................................................................................69
Character String......................................................................................................................................70
String Arrays ...........................................................................................................................................71
Euphoria Structures ................................................................................................................................71
Urinary Operation...................................................................................................................................72
Euphoria
v
Arithmetic Operations ............................................................................................................................72
Command Line Options...........................................................................................................................74
13. EUPHORIA DATE AND TIME.................................................................................................75
The date() Method..................................................................................................................................75
The time() Method..................................................................................................................................77
Date & Time Related Methods................................................................................................................78
14. EUPHORIA PROCEDURES.....................................................................................................79
Procedure Definition...............................................................................................................................79
Calling a Procedure .................................................................................................................................80
Procedure Parameters ............................................................................................................................80
15. EUPHORIA FUNCTIONS .......................................................................................................82
Function Definition .................................................................................................................................82
Calling a Function....................................................................................................................................82
Function Parameters...............................................................................................................................83
The return Statement .............................................................................................................................84
16. EUPHORIA FILE I/O..............................................................................................................85
Displaying on the Screen.........................................................................................................................85
Opening and Closing Files .......................................................................................................................85
The open Method...................................................................................................................................86
The close() Method.................................................................................................................................87
Reading and Writing Files .......................................................................................................................89
The printf() Method................................................................................................................................89
The gets() Method..................................................................................................................................90
File & Directory Related Methods...........................................................................................................92
Euphoria
6
Euphoria stands for End-User Programming with Hierarchical Objects for Robust
Interpreted Applications. Euphoria's first incarnation was created by Robert Craig on
an Atari Mega-ST and it was first released in 1993. It is now maintained by Rapid
Deployment Software.
It is a free, simple, flexible, easy to learn, and interpreted but extremely fast 32-bit
high-level programming language for DOS, Windows, Linux, FreeBSD and more.
Euphoria is being used to develop Windows GUI programs, high-speed DOS games,
and Linux/FreeBSD X Windows programs. Euphoria can also be used for CGI (Web-
based) programming.
EuphoriaFeatures
Here is the list of major features of Euphoria:
 It is a simple, flexible, powerful language definition that is easy to learn and
use.

 It supports dynamic storage allocation which means variables grow or shrink
without the programmer having to worry about allocating and freeing the
memory. It takes care of garbage collection automatically.

 It is extremely faster than conventional interpreters such as Perl and Python.

 Euphoria programs run under Linux, FreeBSD, 32-bit Windows, and any DOS
environment.

 Euphoria programs are not subject to any 640K memory limitations.

 It provides an optimizing Euphoria-To-C translator which you can use to
translate your Euphoria program into C and then compile it with a C compiler
to get an executable (.exe) file. This can boost your program speed by 2 to 5
times.

 Underlying hardware are completely hidden which means programs are not
aware of word-lengths, underlying bit-level representation of values, byte-
order etc.

1. EUPHORIA OVERVIEW
Euphoria
7
 Euphoria installation comes along with a full-screen source debugger, an
execution profiler, and a full-screen multi-file editor.

 It supports run-time error-handling, subscript, and type checking.
 It is an open source language and comes completely free of cost.
PlatformRequirements
Euphoria is available on Windows, Linux, FreeBSD, and OSX. Here is the bare
minimum version required with the following platforms −
 WIN32 version: You need Windows 95 or any later version of Windows. It
runs fine on XP and Vista.

 Linux version: You need any reasonably up-to-date Linux distribution, that
has libc6 or later. For example, Red Hat 5.2 or later works fine.

 FreeBSD version: You need any reasonably up-to-date FreeBSD distribution.

 Mac OS X version: You need any reasonably up-to-date Intel based Mac.
EuphoriaLimitations
 Here are some prominent limitations of Euphoria:

 Even though Euphoria is simple, fast, and flexible enough for the
programmers; it does not provide call support for many important
functionalities. For example, network programming.

 Euphoria was invented in 1993, and still you would not find any book written
on this language. There is also not much documentation available for the
language.
But these days, the language is getting popular very fast and you can hope to have
nice utilities and books available for the language very soon.
EuphoriaLicensing
This product is free and open source, and has benefited from the contributions of
many people. You have complete royalty-free rights to distribute any Euphoria
programs that you develop.
Euphoria
8
Icon files, such as euphoria.ico and binaries available in euphoriabin, may be
distributed with or without your changes.
You can shroud or bind your program and distribute the resulting files royalty-free.
Some additional 3rd
party legal restrictions might apply when you use the Euphoria-
To-C translator.
The generous Open Source License allows Euphoria to use for both personal and
commercial purposes. Unlike many other open source licenses, your changes do not
have to be made open source.
Euphoria
9
This chapter describes about the installation of Euphoria on various platforms. You
can follow the steps to install Euphoria on Linux, FreeBSD, and 32-bit Windows. So
you can choose the steps based on your working environment.
Linux,FreeBSDInstallation
Official website provides .tar.gz file to install Euphoria on your Linux or BSD OS. You
can download your latest version of Euphoria from its official website Download
Euphoria.
Once you have .tar.gz file, here are three simple steps to be performed to install
Euphoria on your Linux or Free BSD machine:
Step 1: Installing Files
Untar the downloaded file euphoria-4.0b2.tar.gz in a directory where you want to
install Euphoria. If you want to install it in /home directory as follows, then:
$cp euphoria-4.0b2.tar.gz /home
$cd /home
$gunzip euphoria-4.0b2.tar.gz
$tar -xvf euphoria-4.0b2.tar
This creates a directory hierarchy inside /home/euphoria-4.0b2 directory as
follows:
$ls -l
-rw-r--r-- 1 1001 1001 2485 Aug 17 06:15 Jamfile
-rw-r--r-- 1 1001 1001 5172 Aug 20 12:37 Jamrules
-rw-r--r-- 1 1001 1001 1185 Aug 13 06:21 License.txt
drwxr-xr-x 2 1001 1001 4096 Aug 31 10:07 bin
drwxr-xr-x 7 1001 1001 4096 Aug 31 10:07 demo
2. EUPHORIA ENVIRONMENT
Euphoria
10
-rw-r--r-- 1 1001 1001 366 Mar 18 09:02 file_id.diz
drwxr-xr-x 4 1001 1001 4096 Aug 31 10:07 include
-rw-r--r-- 1 1001 1001 1161 Mar 18 09:02 installu.doc
drwxr-xr-x 4 1001 1001 4096 Aug 31 10:07 source
drwxr-xr-x 19 1001 1001 4096 Sep 7 12:09 tests
drwxr-xr-x 2 1001 1001 4096 Aug 31 10:07 tutorial
Note: File name euphoria-4.0b2.tar.gz depends on latest version available. We are
using 4.0b2 version of the language for this tutorial.
Step 2: Setting Up the Path
After installing Euphoria, you need to set proper paths so that your shell can find
required Euphoria binaries and utilities. Before proceeding, there are following three
important environment variables you need to set up:
1. Set PATH environment variable to point /home/euphoria-4.0b2/bin directory.
2. Set EUDIR environment variable to point to /home/euphoria-4.0b2.
3. Set EUINC environment variable to point to /home/euphoria-4.0b2/include.
These variables can be set as follows −
$export PATH=$PATH:/home/euphoria-4.0b2/bin
$export EUDIR=/home/euphoria-4.0b2
$export EUINC=/home/euphoria-4.0b2/include
Note: The above commands used to set environment variables may differ depending
on your Shell. We used bash shell for executing these commands to set the variables.
Step 3: Confirming Installation
Confirm if you installed Euphoria successfully or not.
Execute the following command:
$eui -version
If you get following result, then it means you have installed Euphoria successfully;
otherwise you have to go back and check all the steps again.
Euphoria
11
$eui -version
Euphoria Interpreter 4.0.0 beta 2 (r2670) for Linux
Using System Memory
$
That is it, Euphoria Programming Environment is ready on your UNIX machine, and
you can start writing complex programs in easy steps.
WIN32andDOSInstallation
Official website provides .exe file to install Euphoria on your WIN32 or DOS OS. You
can download your latest version of Euphoria from its official website Download
Euphoria.
Once you have .exe file, here are three simple steps to follow for installing Euphoria
Programming language on your WIN32 or DOS machine:
Step 1: Installing Files
Double click on the downloaded .exe setup program to install all the files. We
downloaded euphoria-40b2.exe file for installation.
The filename euphoria-40b2.exe depends on latest version available. We use version
4 beta 2 of the language.
By default Euphoria would be installed in C:euphoria-40b2 directory but you can also
select a desired location.
Step 2: Rebooting the Machine
Re-boot your machine to complete the installation.
Step 3: Confirming Installation
Confirm if you installed Euphoria successfully or not.
Execute the following command:
c:>eui -version
If you get following result, then it means you have installed Euphoria successfully;
otherwise you have to go back and check all the steps again.
Euphoria
12
c:>eui -version
Euphoria Interpreter 4.0.0 beta 2 (r2670) for Windows
Using Managed Memory
c:>
That is it, Euphoria Programming Environment is ready on your WIN32 machine, and
you can start writing complex programs in easy steps.
EuphoriaInterpreters
 Depending on the platform you are using, Euphoria has multiple interpreters:
 The main interpreter is eui.
 On windows platforms, you have two choices. If you run eui then a console
window is created. If you run euiw then no console is created, making it
suitable for GUI applications.

 Euphoria does not care about your choice of file extensions. By convention
however; the console-based applications come with .ex extension.

 GUI-based applications have .exw extension and the include files have .e
extension.
Euphoria
13
The Euphoria language has many similarities to Perl, C, and Java. However, there are
some definite differences between the languages. This chapter is designed to quickly
get you up to speed on the syntax that is expected in Euphoria.
This tutorial assumes you are working with Linux and all the examples have been
written on Linux platform. But it is observed that there is no any prominent difference
in program syntax on Linux and WIN32. Hence you can follow the same steps on
WIN32.
FirstEuphoriaProgram
Let us write a simple Euphoria program in a script. Type the following source code in
test.ex file and save it.
#!/home/euphoria-4.0b2/bin/eui
puts(1, "Hello, Euphoria!n")
Let us say, Euphoria interpreter is available in /home/euphoria-4.0b2/bin/ directory.
Now run this program as follows:
$ chmod +x test.ex # This is to make file executable
$ ./test.ex
This would produce the following result:
Hello, Euphoria!
This script used a built-in function puts() which takes two arguments. First argument
indicates file name or device number, and second argument indicates a string which
you want to print. Here 1 indicates STDOUT device.
3. BASIC SYNTAX
Euphoria
14
EuphoriaIdentifiers
A Euphoria identifier is a name used to identify a variable, function, class, module,
or other object. An identifier starts with a letter A to Z or a to z and then followed by
letters, digits, or underscores.
Euphoria does not allow punctuation characters such as @, $, and % within
identifiers.
Euphoria is a case sensitive programming language. Thus Manpower and
manpower are two different identifiers in Euphoria. For example, the valid identifiers
are:
 n
 color26
 ShellSort
 quick_sort
 a_very_long_indentifier
ReservedWords
The following list shows the reserved words in Euphoria. These reserved words may
not be used as constant or variable or any other identifier names. Euphoria keywords
contain lowercase letters only.
and exit override
as export procedure
break fallthru public
by for retry
case function return
constant global routine
Euphoria
15
continue goto switch
do if then
else ifdef to
elsedef include type
elsif label until
elsifdef loop while
end namespace with
entry not without
enum or xor
Expressions
Euphoria lets you calculate results by forming expressions. However, in Euphoria you
can perform calculations on entire sequences of data with one expression.
You can handle a sequence much as you would handle a single number. It can be
copied, passed to a subroutine, or calculated upon as a unit. For example:
{1,2,3} + 5
This is an expression that adds the sequence {1, 2, 3} and the atom 5 to get the
resulting sequence {6, 7, 8}. You would learn sequences in subsequent chapters.
BlocksofCode
One of the first caveats programmers encounter when learning Euphoria is the fact
that there are no braces to indicate blocks of code for procedure and function
definitions or flow control. Blocks of code are denoted by associated keywords.
Euphoria
16
The following example shows if...then...end if block:
if condition then
code block comes here
end if
Multi-LineStatements
Statements in Euphoria typically end with a new line. Euphoria does however, allow
to write a single statement in multiple lines. For example:
total = item_one +
item_two +
item_three
EscapeCharacters
Escape characters may be entered using a back-slash. For example:
The following table is a list of escape or non-printable characters that can be
represented with backslash notation.
Backslash notation Description
n Newline
r Carriage return
t Tab
 Backslash
" Double quote
' Single quote
Euphoria
17
CommentsinEuphoria
Any comments are ignored by the compiler and have no effect on execution speed.
It is advisable to use more comments in your program to make it more readable.
There are three forms of comment text:
1. Comments start by two dashes and extend to the end of the current line.
2. The multi-line format comment is kept inside /*...*/, even if that occurs on a different line.
3.
4. You can use a special comment beginning with the two character sequence “#!” only on the first
line of the program.
Example
#!/home/euphoria-4.0b2/bin/eui
-- First comment
puts(1, "Hello, Euphoria!n") -- second comment
/* This is a comment which extends over a number
of text lines and has no impact on the program
*/
This will produce the following result:
Hello, Euphoria!
Note: On the first line (only) of your program, you can use a special comment
beginning with “#!”. This informs the Linux shell that your file should be executed by
the Euphoria interpreter.
Euphoria
18
End of ebook preview
If you liked what you saw…
Buy it from our store @ https://store.tutorialspoint.com

More Related Content

PDF
Gprs tutoial
PDF
Elixir tutorial
PDF
Perl tutorial
PDF
Erlang tutorial
PDF
Objective c tutorial
PDF
Lua tutorial
PDF
Ruby tutorial
Gprs tutoial
Elixir tutorial
Perl tutorial
Erlang tutorial
Objective c tutorial
Lua tutorial
Ruby tutorial

What's hot (16)

PDF
Cpp tutorial
PDF
Ios tutorial
PDF
Javascript tutorial
PDF
Pascal tutorial
PDF
Python3 tutorial
PDF
C standard library_tutorial
PDF
Tcl tk tutorial
PDF
Jsf tutorial
PDF
Fortran tutorial
PDF
Go tutorial
PDF
Learn c standard library
PDF
Go tutorial
PDF
Asp.net mvc tutorial
PDF
Javafx tutorial
PDF
Php tutorial
PDF
php lessons
Cpp tutorial
Ios tutorial
Javascript tutorial
Pascal tutorial
Python3 tutorial
C standard library_tutorial
Tcl tk tutorial
Jsf tutorial
Fortran tutorial
Go tutorial
Learn c standard library
Go tutorial
Asp.net mvc tutorial
Javafx tutorial
Php tutorial
php lessons
Ad

Similar to Euphoria tutorials (20)

PDF
Cprogramming tutorial
PDF
TUTORIAL DE C
PDF
Learn c programming
PDF
C Programming Tutorial
PDF
Gprs tutoialc
PDF
C Tutorials.pdf
PDF
Cprogramming tutorial
PDF
Learn c programming e-books
PDF
Cprogramming tutorial
PDF
Cprogramming tutorial
PDF
c programming tutorial...................
PDF
Cprogramming tutorial
PDF
Cprogramming tutorial
PDF
C language programming (description in simple words)
PDF
Cprogramming tutorial
PDF
Software engineering
PDF
Intellij idea tutorial
PDF
cpp_tutorial PDF.: Generate, view, or edit PDFs in web apps.
PDF
c++.pdf programming fundamentals and basics if IT
PDF
Design pattern tutorial
Cprogramming tutorial
TUTORIAL DE C
Learn c programming
C Programming Tutorial
Gprs tutoialc
C Tutorials.pdf
Cprogramming tutorial
Learn c programming e-books
Cprogramming tutorial
Cprogramming tutorial
c programming tutorial...................
Cprogramming tutorial
Cprogramming tutorial
C language programming (description in simple words)
Cprogramming tutorial
Software engineering
Intellij idea tutorial
cpp_tutorial PDF.: Generate, view, or edit PDFs in web apps.
c++.pdf programming fundamentals and basics if IT
Design pattern tutorial
Ad

More from HarikaReddy115 (20)

PDF
Dbms tutorial
PDF
Data structures algorithms_tutorial
PDF
Wireless communication tutorial
PDF
Cryptography tutorial
PDF
Cosmology tutorial
PDF
Control systems tutorial
PDF
Computer logical organization_tutorial
PDF
Computer fundamentals tutorial
PDF
Compiler design tutorial
PDF
Communication technologies tutorial
PDF
Biometrics tutorial
PDF
Behavior driven development_tutorial
PDF
Basics of computers_tutorial
PDF
Basics of computer_science_tutorial
PDF
Basic electronics tutorial
PDF
Auditing tutorial
PDF
Artificial neural network_tutorial
PDF
Artificial intelligence tutorial
PDF
Antenna theory tutorial
PDF
Analog communication tutorial
Dbms tutorial
Data structures algorithms_tutorial
Wireless communication tutorial
Cryptography tutorial
Cosmology tutorial
Control systems tutorial
Computer logical organization_tutorial
Computer fundamentals tutorial
Compiler design tutorial
Communication technologies tutorial
Biometrics tutorial
Behavior driven development_tutorial
Basics of computers_tutorial
Basics of computer_science_tutorial
Basic electronics tutorial
Auditing tutorial
Artificial neural network_tutorial
Artificial intelligence tutorial
Antenna theory tutorial
Analog communication tutorial

Recently uploaded (20)

PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Pre independence Education in Inndia.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
Pharma ospi slides which help in ospi learning
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
01-Introduction-to-Information-Management.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Business Ethics Teaching Materials for college
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
master seminar digital applications in india
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Supply Chain Operations Speaking Notes -ICLT Program
O7-L3 Supply Chain Operations - ICLT Program
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Complications of Minimal Access Surgery at WLH
STATICS OF THE RIGID BODIES Hibbelers.pdf
Pre independence Education in Inndia.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Pharma ospi slides which help in ospi learning
Abdominal Access Techniques with Prof. Dr. R K Mishra
01-Introduction-to-Information-Management.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Business Ethics Teaching Materials for college
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
master seminar digital applications in india
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx

Euphoria tutorials

  • 2. Euphoria i AboutTutorial This tutorial gives you basic understanding of Euphoria programming language. Euphoria is simple, flexible, easy to learn, and interpreted high-level programming language for DOS, Windows, Linux, FreeBSD, and more. This tutorial describes everything a programmer needs to know such as its environment, data types, syntax and operators, file handling, and controlling the flow of program. Audience This tutorial is designed for the aspiring students who are keen to learn and understand Euphoria in detail. This tutorial would be of great help for the IT professionals working as programmers. The enthusiastic readers can access this tutorial as a source of additional reading. Prerequisites Before proceeding with this tutorial, you need to have a basic knowledge of working on Windows or Linux. You need to be familiar with any programming language such as C, C++. You need to have sound understanding of operating system, memory allocation and de-allocation, and basics of efficient programming and debugging. Disclaimer&Copyright  Copyright 2015 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@tutorialspoint.com.
  • 3. Euphoria ii TableofContents About Tutorial............................................................................................................................................. Audience....................................................................................................................................................i Prerequisites..............................................................................................................................................i Disclaimer & Copyright ..............................................................................................................................i Table of Contents......................................................................................................................................ii 1. EUPHORIA OVERVIEW...........................................................................................................1 Euphoria Features.....................................................................................................................................1 Platform Requirements.............................................................................................................................2 Euphoria Limitations.................................................................................................................................2 Euphoria Licensing ....................................................................................................................................2 2. EUPHORIA ENVIRONMENT....................................................................................................4 Linux, Free BSD Installation.......................................................................................................................4 WIN32 and DOS Installation......................................................................................................................6 Euphoria Interpreters ...............................................................................................................................7 3. BASIC SYNTAX .......................................................................................................................8 First Euphoria Program .............................................................................................................................8 Euphoria Identifiers ..................................................................................................................................8 Reserved Words........................................................................................................................................9 Expressions.............................................................................................................................................10 Blocks of Code ........................................................................................................................................10 Multi-Line Statements ............................................................................................................................10 Escape Characters...................................................................................................................................11 Comments in Euphoria............................................................................................................................11
  • 4. Euphoria iii 4. EUPHORIA VARIABLES.........................................................................................................13 Variable Declaration ...............................................................................................................................13 Assigning Values .....................................................................................................................................13 Identifier Scope.......................................................................................................................................14 5. EUPHORIA CONSTANTS.......................................................................................................16 The enums ..............................................................................................................................................17 6. EUPHORIA DATATYPES........................................................................................................19 Euphoria Integers....................................................................................................................................19 Euphoria Atoms ......................................................................................................................................19 Euphoria Sequences................................................................................................................................20 Euphoria Objects.....................................................................................................................................21 7. EUPHORIA OPERATORS.......................................................................................................22 The Arithmetic Operators .......................................................................................................................22 The Relational Operators........................................................................................................................23 The Logical Operators .............................................................................................................................25 The Assignment Operators......................................................................................................................27 Miscellaneous Operators ........................................................................................................................29 Precedence of Euphoria Operators .........................................................................................................30 8. EUPHORIA BRANCHING.......................................................................................................32 The if Statement .....................................................................................................................................32 The if...else Statement ............................................................................................................................33 The if...elsif...else Statement...................................................................................................................34 The if...label...then Statement ................................................................................................................35 Nested if...else Statement.......................................................................................................................36 The switch Statement .............................................................................................................................38
  • 5. Euphoria iv The switch...with fallthru Statement.......................................................................................................39 The switch....label Statement .................................................................................................................41 The ifdef Statement ................................................................................................................................43 The ifdef...elsedef Statement..................................................................................................................45 The ifdef...elsifdef Statement..................................................................................................................46 9. EUPHORIA LOOPS ...............................................................................................................48 While Statement.....................................................................................................................................49 The while....with entry Statement ..........................................................................................................50 The while....label Statement...................................................................................................................51 The loop until Statement ........................................................................................................................53 The loop....with entry Statement............................................................................................................54 The loop....label Statement ....................................................................................................................55 The for Loop............................................................................................................................................57 10. EUPHORIA FLOW CONTROL ................................................................................................60 The exit Statement..................................................................................................................................60 The break Statement ..............................................................................................................................61 The continue Statement..........................................................................................................................63 The retry Statement................................................................................................................................64 The goto Statement................................................................................................................................65 11. SHORT CIRCUIT EVALUATION..............................................................................................67 12. EUPHORIA SEQUENCES.......................................................................................................69 Character String......................................................................................................................................70 String Arrays ...........................................................................................................................................71 Euphoria Structures ................................................................................................................................71 Urinary Operation...................................................................................................................................72
  • 6. Euphoria v Arithmetic Operations ............................................................................................................................72 Command Line Options...........................................................................................................................74 13. EUPHORIA DATE AND TIME.................................................................................................75 The date() Method..................................................................................................................................75 The time() Method..................................................................................................................................77 Date & Time Related Methods................................................................................................................78 14. EUPHORIA PROCEDURES.....................................................................................................79 Procedure Definition...............................................................................................................................79 Calling a Procedure .................................................................................................................................80 Procedure Parameters ............................................................................................................................80 15. EUPHORIA FUNCTIONS .......................................................................................................82 Function Definition .................................................................................................................................82 Calling a Function....................................................................................................................................82 Function Parameters...............................................................................................................................83 The return Statement .............................................................................................................................84 16. EUPHORIA FILE I/O..............................................................................................................85 Displaying on the Screen.........................................................................................................................85 Opening and Closing Files .......................................................................................................................85 The open Method...................................................................................................................................86 The close() Method.................................................................................................................................87 Reading and Writing Files .......................................................................................................................89 The printf() Method................................................................................................................................89 The gets() Method..................................................................................................................................90 File & Directory Related Methods...........................................................................................................92
  • 7. Euphoria 6 Euphoria stands for End-User Programming with Hierarchical Objects for Robust Interpreted Applications. Euphoria's first incarnation was created by Robert Craig on an Atari Mega-ST and it was first released in 1993. It is now maintained by Rapid Deployment Software. It is a free, simple, flexible, easy to learn, and interpreted but extremely fast 32-bit high-level programming language for DOS, Windows, Linux, FreeBSD and more. Euphoria is being used to develop Windows GUI programs, high-speed DOS games, and Linux/FreeBSD X Windows programs. Euphoria can also be used for CGI (Web- based) programming. EuphoriaFeatures Here is the list of major features of Euphoria:  It is a simple, flexible, powerful language definition that is easy to learn and use.   It supports dynamic storage allocation which means variables grow or shrink without the programmer having to worry about allocating and freeing the memory. It takes care of garbage collection automatically.   It is extremely faster than conventional interpreters such as Perl and Python.   Euphoria programs run under Linux, FreeBSD, 32-bit Windows, and any DOS environment.   Euphoria programs are not subject to any 640K memory limitations.   It provides an optimizing Euphoria-To-C translator which you can use to translate your Euphoria program into C and then compile it with a C compiler to get an executable (.exe) file. This can boost your program speed by 2 to 5 times.   Underlying hardware are completely hidden which means programs are not aware of word-lengths, underlying bit-level representation of values, byte- order etc.  1. EUPHORIA OVERVIEW
  • 8. Euphoria 7  Euphoria installation comes along with a full-screen source debugger, an execution profiler, and a full-screen multi-file editor.   It supports run-time error-handling, subscript, and type checking.  It is an open source language and comes completely free of cost. PlatformRequirements Euphoria is available on Windows, Linux, FreeBSD, and OSX. Here is the bare minimum version required with the following platforms −  WIN32 version: You need Windows 95 or any later version of Windows. It runs fine on XP and Vista.   Linux version: You need any reasonably up-to-date Linux distribution, that has libc6 or later. For example, Red Hat 5.2 or later works fine.   FreeBSD version: You need any reasonably up-to-date FreeBSD distribution.   Mac OS X version: You need any reasonably up-to-date Intel based Mac. EuphoriaLimitations  Here are some prominent limitations of Euphoria:   Even though Euphoria is simple, fast, and flexible enough for the programmers; it does not provide call support for many important functionalities. For example, network programming.   Euphoria was invented in 1993, and still you would not find any book written on this language. There is also not much documentation available for the language. But these days, the language is getting popular very fast and you can hope to have nice utilities and books available for the language very soon. EuphoriaLicensing This product is free and open source, and has benefited from the contributions of many people. You have complete royalty-free rights to distribute any Euphoria programs that you develop.
  • 9. Euphoria 8 Icon files, such as euphoria.ico and binaries available in euphoriabin, may be distributed with or without your changes. You can shroud or bind your program and distribute the resulting files royalty-free. Some additional 3rd party legal restrictions might apply when you use the Euphoria- To-C translator. The generous Open Source License allows Euphoria to use for both personal and commercial purposes. Unlike many other open source licenses, your changes do not have to be made open source.
  • 10. Euphoria 9 This chapter describes about the installation of Euphoria on various platforms. You can follow the steps to install Euphoria on Linux, FreeBSD, and 32-bit Windows. So you can choose the steps based on your working environment. Linux,FreeBSDInstallation Official website provides .tar.gz file to install Euphoria on your Linux or BSD OS. You can download your latest version of Euphoria from its official website Download Euphoria. Once you have .tar.gz file, here are three simple steps to be performed to install Euphoria on your Linux or Free BSD machine: Step 1: Installing Files Untar the downloaded file euphoria-4.0b2.tar.gz in a directory where you want to install Euphoria. If you want to install it in /home directory as follows, then: $cp euphoria-4.0b2.tar.gz /home $cd /home $gunzip euphoria-4.0b2.tar.gz $tar -xvf euphoria-4.0b2.tar This creates a directory hierarchy inside /home/euphoria-4.0b2 directory as follows: $ls -l -rw-r--r-- 1 1001 1001 2485 Aug 17 06:15 Jamfile -rw-r--r-- 1 1001 1001 5172 Aug 20 12:37 Jamrules -rw-r--r-- 1 1001 1001 1185 Aug 13 06:21 License.txt drwxr-xr-x 2 1001 1001 4096 Aug 31 10:07 bin drwxr-xr-x 7 1001 1001 4096 Aug 31 10:07 demo 2. EUPHORIA ENVIRONMENT
  • 11. Euphoria 10 -rw-r--r-- 1 1001 1001 366 Mar 18 09:02 file_id.diz drwxr-xr-x 4 1001 1001 4096 Aug 31 10:07 include -rw-r--r-- 1 1001 1001 1161 Mar 18 09:02 installu.doc drwxr-xr-x 4 1001 1001 4096 Aug 31 10:07 source drwxr-xr-x 19 1001 1001 4096 Sep 7 12:09 tests drwxr-xr-x 2 1001 1001 4096 Aug 31 10:07 tutorial Note: File name euphoria-4.0b2.tar.gz depends on latest version available. We are using 4.0b2 version of the language for this tutorial. Step 2: Setting Up the Path After installing Euphoria, you need to set proper paths so that your shell can find required Euphoria binaries and utilities. Before proceeding, there are following three important environment variables you need to set up: 1. Set PATH environment variable to point /home/euphoria-4.0b2/bin directory. 2. Set EUDIR environment variable to point to /home/euphoria-4.0b2. 3. Set EUINC environment variable to point to /home/euphoria-4.0b2/include. These variables can be set as follows − $export PATH=$PATH:/home/euphoria-4.0b2/bin $export EUDIR=/home/euphoria-4.0b2 $export EUINC=/home/euphoria-4.0b2/include Note: The above commands used to set environment variables may differ depending on your Shell. We used bash shell for executing these commands to set the variables. Step 3: Confirming Installation Confirm if you installed Euphoria successfully or not. Execute the following command: $eui -version If you get following result, then it means you have installed Euphoria successfully; otherwise you have to go back and check all the steps again.
  • 12. Euphoria 11 $eui -version Euphoria Interpreter 4.0.0 beta 2 (r2670) for Linux Using System Memory $ That is it, Euphoria Programming Environment is ready on your UNIX machine, and you can start writing complex programs in easy steps. WIN32andDOSInstallation Official website provides .exe file to install Euphoria on your WIN32 or DOS OS. You can download your latest version of Euphoria from its official website Download Euphoria. Once you have .exe file, here are three simple steps to follow for installing Euphoria Programming language on your WIN32 or DOS machine: Step 1: Installing Files Double click on the downloaded .exe setup program to install all the files. We downloaded euphoria-40b2.exe file for installation. The filename euphoria-40b2.exe depends on latest version available. We use version 4 beta 2 of the language. By default Euphoria would be installed in C:euphoria-40b2 directory but you can also select a desired location. Step 2: Rebooting the Machine Re-boot your machine to complete the installation. Step 3: Confirming Installation Confirm if you installed Euphoria successfully or not. Execute the following command: c:>eui -version If you get following result, then it means you have installed Euphoria successfully; otherwise you have to go back and check all the steps again.
  • 13. Euphoria 12 c:>eui -version Euphoria Interpreter 4.0.0 beta 2 (r2670) for Windows Using Managed Memory c:> That is it, Euphoria Programming Environment is ready on your WIN32 machine, and you can start writing complex programs in easy steps. EuphoriaInterpreters  Depending on the platform you are using, Euphoria has multiple interpreters:  The main interpreter is eui.  On windows platforms, you have two choices. If you run eui then a console window is created. If you run euiw then no console is created, making it suitable for GUI applications.   Euphoria does not care about your choice of file extensions. By convention however; the console-based applications come with .ex extension.   GUI-based applications have .exw extension and the include files have .e extension.
  • 14. Euphoria 13 The Euphoria language has many similarities to Perl, C, and Java. However, there are some definite differences between the languages. This chapter is designed to quickly get you up to speed on the syntax that is expected in Euphoria. This tutorial assumes you are working with Linux and all the examples have been written on Linux platform. But it is observed that there is no any prominent difference in program syntax on Linux and WIN32. Hence you can follow the same steps on WIN32. FirstEuphoriaProgram Let us write a simple Euphoria program in a script. Type the following source code in test.ex file and save it. #!/home/euphoria-4.0b2/bin/eui puts(1, "Hello, Euphoria!n") Let us say, Euphoria interpreter is available in /home/euphoria-4.0b2/bin/ directory. Now run this program as follows: $ chmod +x test.ex # This is to make file executable $ ./test.ex This would produce the following result: Hello, Euphoria! This script used a built-in function puts() which takes two arguments. First argument indicates file name or device number, and second argument indicates a string which you want to print. Here 1 indicates STDOUT device. 3. BASIC SYNTAX
  • 15. Euphoria 14 EuphoriaIdentifiers A Euphoria identifier is a name used to identify a variable, function, class, module, or other object. An identifier starts with a letter A to Z or a to z and then followed by letters, digits, or underscores. Euphoria does not allow punctuation characters such as @, $, and % within identifiers. Euphoria is a case sensitive programming language. Thus Manpower and manpower are two different identifiers in Euphoria. For example, the valid identifiers are:  n  color26  ShellSort  quick_sort  a_very_long_indentifier ReservedWords The following list shows the reserved words in Euphoria. These reserved words may not be used as constant or variable or any other identifier names. Euphoria keywords contain lowercase letters only. and exit override as export procedure break fallthru public by for retry case function return constant global routine
  • 16. Euphoria 15 continue goto switch do if then else ifdef to elsedef include type elsif label until elsifdef loop while end namespace with entry not without enum or xor Expressions Euphoria lets you calculate results by forming expressions. However, in Euphoria you can perform calculations on entire sequences of data with one expression. You can handle a sequence much as you would handle a single number. It can be copied, passed to a subroutine, or calculated upon as a unit. For example: {1,2,3} + 5 This is an expression that adds the sequence {1, 2, 3} and the atom 5 to get the resulting sequence {6, 7, 8}. You would learn sequences in subsequent chapters. BlocksofCode One of the first caveats programmers encounter when learning Euphoria is the fact that there are no braces to indicate blocks of code for procedure and function definitions or flow control. Blocks of code are denoted by associated keywords.
  • 17. Euphoria 16 The following example shows if...then...end if block: if condition then code block comes here end if Multi-LineStatements Statements in Euphoria typically end with a new line. Euphoria does however, allow to write a single statement in multiple lines. For example: total = item_one + item_two + item_three EscapeCharacters Escape characters may be entered using a back-slash. For example: The following table is a list of escape or non-printable characters that can be represented with backslash notation. Backslash notation Description n Newline r Carriage return t Tab Backslash " Double quote ' Single quote
  • 18. Euphoria 17 CommentsinEuphoria Any comments are ignored by the compiler and have no effect on execution speed. It is advisable to use more comments in your program to make it more readable. There are three forms of comment text: 1. Comments start by two dashes and extend to the end of the current line. 2. The multi-line format comment is kept inside /*...*/, even if that occurs on a different line. 3. 4. You can use a special comment beginning with the two character sequence “#!” only on the first line of the program. Example #!/home/euphoria-4.0b2/bin/eui -- First comment puts(1, "Hello, Euphoria!n") -- second comment /* This is a comment which extends over a number of text lines and has no impact on the program */ This will produce the following result: Hello, Euphoria! Note: On the first line (only) of your program, you can use a special comment beginning with “#!”. This informs the Linux shell that your file should be executed by the Euphoria interpreter.
  • 19. Euphoria 18 End of ebook preview If you liked what you saw… Buy it from our store @ https://store.tutorialspoint.com