Zum Inhalt springen

Euphoria (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. April 2007 um 22:54 Uhr durch 91.32.1.192 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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 3.0.2 (Stand 7. April 2007) 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. Mittlerweile bietet der Hersteller ein Tool an, mit dem sich Euphoria-Code nach C übersetzen und anschließend kompilieren lässt. Euphoria wird außerdem mit einer einfachen Datenbank geliefert.

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.