Euphoria (Programmiersprache)

Euphoria (Programmiersprache)

Euphoria ist eine interpretierte Programmiersprache, die von Robert Craig für Rapid Deployment Software entwickelt wurde. Die erste Version von Euphoria erschien 1993 für den Atari ST, die aktuelle Version 4.0.3 (Stand 13. September 2011) gibt es für Windows, Linux, FreeBSD, und MS-DOS. Seit der Version 3.0.0 steht Euphoria unter einer Open Source-Lizenz.

Das Ziel bei der Entwicklung von Euphoria war es, eine besonders einfach zu erlernende, aber doch mächtige Interpretersprache zu entwickeln, die auch in der Geschwindigkeit mit kompilierten Sprachen mithalten sollte. Dieses Ziel wurde mittlerweile erreicht.[1] Außerdem bietet der Hersteller ein Tool an, mit dem sich Euphoria-Code nach C übersetzen und anschließend kompilieren lässt. Euphoria wird mit einer einfachen Datenbank geliefert.

Auf der Website befindet sich auch eine von vielen Benutzern beigesteuerte Sammlung von mehr als 1600 Programmen im Quellcode für die verschiedensten Anwendungsbereiche.[2]

Beispiel

Hier ein Code-Beispiel aus dem Handbuch:

 sequence list, sorted_list
 function merge_sort(sequence x)
     integer n, mid
     sequence merged, a, b
     n = length(x)
     if n = 0 or n = 1 then
         return x  -- trivial case
     end if
     mid = floor(n/2)
     a = merge_sort(x[1..mid])       -- sortiert die erste Hälfte von x
     b = merge_sort(x[mid+1..n])     -- sortiert die zweite Hälfte von x
     merged = {}
     while length(a) > 0 and length(b) > 0 do
         if compare(a[1], b[1]) < 0 then
             merged = append(merged, a[1])
             a = a[2..length(a)]
         else
             merged = append(merged, b[1])
             b = b[2..length(b)]
         end if
     end while
     return merged & a & b  
 end function
 procedure print_sorted_list()
     list = {9, 10, 3, 1, 4, 5, 8, 7, 6, 2}
     sorted_list = merge_sort(list)
     ? sorted_list
 end procedure
 print_sorted_list()

Das Programm gibt daraufhin

 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

aus.

Zentraler Datentyp von Euphoria sind sogenannte Sequenzen (sequences). Hier ein Beispiel:

{2, 3, 5, 7, 11, 13, 17, 19}
{1, 2, {3, 3, 3}, 4, {5, {6}}}
{{"jon", "smith"}, 52389, 97.25}
{}                        
{x+6, 9, y*w+2, sin(0.5)}

Sequenzen lassen sich beliebig ineinander verschachteln. Dadurch lassen sich beispielsweise Bäume sehr einfach darstellen.

Einzelnachweise

  1. Euphoria-Benchmark
  2. Euphoria-Quellcode-Archiv

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Euphoria — Der Begriff Euphoria bezeichnet: eine synthetische Droge, siehe 4 Methylaminorex eine Programmiersprache, siehe Euphoria (Programmiersprache) ein Software Development Kit für Computerspiele, siehe Euphoria (Software) einen Pornofilm, siehe… …   Deutsch Wikipedia

  • Liste der Programmiersprachen — A A (Programmiersprache) A# A+ A 0 A 1 A 2 A 3 A9 AACC AADL AAIMS aal AAPL Aardappel AARDVARK Abacus ABACUS 10 ABACUS/X ABAP ActionScript Ada ADbasic AgentSpeak(L) Agilent VEE AHDL Aleph ALGOL (ALGOL 60, ALGOL W, ALGOL 68) Amber …   Deutsch Wikipedia

  • Simple Directmedia Layer — Entwickler: Sam Lantinga und die SDL Gemeinde Aktuelle Version: 1.2.13 (31.12.2007) Aktuelle Vora …   Deutsch Wikipedia

  • WxWidgets — Dieser Artikel wurde auf der Qualitätssicherungsseite des Portals Freie Software eingetragen. Beteilige dich an der Diskussion und hilf mit, den Artikel zu verbessern. wxWidgets …   Deutsch Wikipedia

  • WxWindows — Dieser Artikel wurde auf der Qualitätssicherungsseite des Portals Freie Software eingetragen. Beteilige dich an der Diskussion und hilf mit, den Artikel zu verbessern. wxWidgets …   Deutsch Wikipedia

  • Wxwidgets — Dieser Artikel wurde auf der Qualitätssicherungsseite des Portals Freie Software eingetragen. Beteilige dich an der Diskussion und hilf mit, den Artikel zu verbessern. wxWidgets …   Deutsch Wikipedia

  • Wxwindows — Dieser Artikel wurde auf der Qualitätssicherungsseite des Portals Freie Software eingetragen. Beteilige dich an der Diskussion und hilf mit, den Artikel zu verbessern. wxWidgets …   Deutsch Wikipedia

  • Liste von Programmiersprachen — Inhaltsverzeichnis A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A A# A+ …   Deutsch Wikipedia

  • wxWidgets — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”