Enkonduko / Einführung:

La Esperanto-programlingvo, mallonge nomata "E" estas verŝajne la plej simpla programlingvo de la mondo.
Die Esperanto-Programmiersprache, kurz E genannt, ist wahrscheinlich die einfachste Programmiersprache der Welt.

Ĝi konsistas el "vortoj", tiu estas unu aŭ pluraj signoj (ne nur de literoj sed ankaŭ ciferoj, frazosignoj, ideogramoj ktp.), kiuj estas disigataj de aliaj tekstopartoj per interspacoj.
Sie besteht aus "Wörtern", das sind ein oder mehrere Zeichen (nicht nur von Buchstaben sondern auch Ziffern, Satzzeichen, Ideogramme usw.), die von anderen Textteilen durch Zwischenraumzeichen getrennt sind.
Atentu, skribmaniero gravas:
Achtung, es kommt auf die Schreibweise an:

vorto Vorto VORTO vOrTo
estas 4 diversaj vortoj!
sind 4 verschiedene Wörter!

La programlingvo E uzas la 7 'konatajn' vortojn 
Die Programmiersprache E benutzt die 7 'ihr bekannten' Wörter 

. ( " f ?? adr loko

kaj nombrojn, kiuj konsistas nur el ciferoj. 
und Zahlen, die nur aus folgenden Ziffern bestehen

0 1 2 3 4 5 6 7 8 9 A B C D E F .

Ĉiuj aliaj vortoj estas 'nekonataj' vortoj. Ili ne havas funkcion kaj povas servi kiel klarigoj.
alle anderen Wörter sind 'unbekannte' Wörter. Diese haben keine Funktion und können als Erläuterungen benutzt werden.

Por uzi fontotekston skribita en E oni bezonas kompililon (ĝi nomiĝas `e´), kiu tradukas la fontotekston al plenumebla programo.
Um einen in E geschriebenen Quelltext zu benutzen, benötigt man einen Compiler (er heisst 'e'), der den Quelltext in ein ausführbares Programm übersetzt.

Kaj tiel la vortoj funkcias:
Und so funktionieren die Wörter:

nombroj / Zahlen

Ĉiu nombro estas transformata al unu bajto. (E kutime uzas la deksesciferan = heksadecimalan nombrosistemon!)
Jede Zahl wir in nur ein Byte umgewandelt. (E benutzt gewöhnlich Hexadezimal-Zahlen - also das Zahlesystem mit 16 Ziffern!)



ekz / z.B.: 1 -> 01 1F2C4D -> 4D

.

Per punkto komencas kaj finas difino de nova vorto. La kompililo aldonas al sia fino ligadreson, kiu montras al la situo de la ligadreso de la antaŭa vorto. La unua vorto en la vortaro (biblioteko) havas la ligadreson 0. Tiel ĉiuj vortoj estas katenigitaj kaj la kompililo povas traserĉi sian vortaron (bibliotekon) kaj povas trovi ĉiujn 'konatajn' vortojn.
Mit einem Punkt beginnt und endet eine Definition eines neuen Wortes. Der Compiler schreibt an sein Ende eine Linkadresse, die auf den Ort der Linkadresse des vorhergehenden Wortes zeigt. Das erste Wort im Wörterbuch (Library) hat die Linkadresse 0. Auf diese Weise sind alle Wörter verkettet der Compiler kann sein Wörterbuch (Library) durchsuchen und alle 'bekannten' Wörter finden.


La ĝenerala strukturo de difino de vorto estas:
Die generelle Struktur einer Wortdefinition ist:



  (En la ekzemplo 61 62 63 estas ascii-kodo por vortonomo 'abc', 20 estas spacetosigno 
   kaj C3 estas la maŝina instrukcio - reiru de subpogramo!
   Die generelle Struktur einer Wortdefinition ist Punkt-Wortname-Leerzeichen-Maschinencode-Punkt
   Im Beispiel sind 61 62 63 die Buchstabencodes für den Wortnamen 'abc', 20 ist ein Leerzeichen
   und C3 ist der Maschinenbefehl - Rückkehr vom Unterprogramm!)
Per la vorto 'punkto' kaj la nombroj oni jam principe povas skribi cxiun ajn programon, 
sed pli komforte estas uzi la sekvajn 6 vortojn:

Mit dem Wort 'Punkt' und den Zahlen kann man im Prinzip jedes beliebige programm schreiben, 
aber komfortabler ist es die folgenden 6 Wörter zu benutzen:

(

Komentoj situas inter rondaj krampoj kaj estas ignorataj. Devas esti interspaco inter la (-signo kaj la komenco de komento!
Kommentare befinden sich zwischen runden Klammern und werden ignoriert. Zwischen dem (-Zeichen und dem Kommentar muß ein Leerzeichen stehen!

ekz. z.B.: ( Jen komento - hier ein Kommentar)

"

Teksto inter citiloj estas kompilita kiel vico de bajtoj, sed ne la unua spaceto post la unua citilo!
Text zwischen Anführungszeichen wird als Reihe von Bytes kompiliert, aber nicht das erste Leerzeichen nach dem ersten Anführungszeichen!

ekz. z.B.: " abc " -> 61 62 63 20

f

f difinas subtekston. Tio estas fontoteksto kiu estas prilaborata, kiam oni alvokas la per f difinitan vorton. La spaceto post la vortonomo kaj la punkto ne apartenas al la subteksto!
f definiert einen Subtext. Das ist ein Quelltext, der verarbeitet wird, wenn man das mittels f definierte Wort aufruft. Das Zwischenraumzeichen nach dem Wortnamen und der Punkt gehören nicht zum Subtext!

??

Kiam ?? aperas en la subteksto, adreso estas prenata el la alvokanta teksto kaj poste daŭrigas la subteksto ĝis sia fino kaj tiam daŭrigas la alvokanta teksto.
Wenn ?? im Subtext erscheint, wird ?? durch eine Adresse ersetzt, die im aufrufenden Text steht. Danach wird die Bearbeitung des Subtextes fortgesetzt und nach dem Ende des Subtextes der aufrufende Text!

        

loko

'loko n' markigas lokon en la memoro. n estas indekso inter 0 kaj 7F . Lokoj servas kiel etikedoj. La kompililo ne generas kodon sed nur memoras la numeron de memoro kiun la etikedo desegnas.
'loko n' (loko == Ort) markiert eine Stelle im Speicher. n ist ein Index zwischen 0 und 7F. Es handelt sich hier um Labels. Der Compiler erzeugt keinen Code, sondern merkt sich nur die Stellen im Speicher, die die Labels markieren.

adr

'adr n' estas adreso kiu montras al la loko n. La kompililo generas vicon de bajtoj (en kazo de ekz. 32-bitaj komputiloj 4 bajtoj), kiu formas numeron de la memorloko kun la sama indekso n. Ĉiu adreso kun indekso inter 0 kaj F montras al loko kun la sama indekso kiu aperas poste en la fontoteksto. Ĉiu adreso kun indekso inter 10 kaj 7F montras la la plej unua loko kun la sama indekso antaŭe en la memoro. Kiam paroj loko-adr estas formitaj oni povas uzi la saman indekson por formi aliaj loko-adr-paroj. Tiamaniere eblas senfine produkti adr-loko-paroj.
'adr n' ist eine Adresse, die auf 'loko n' zeigt. Der Compiler gereriert eine Reihe von Bytes (im Falle von z.B. 32-bit-Computern 4 Bytes, die die Nummer der Speicherstelle (loko n)mit dem gleichen Index n bilden. Jede Adresse mit einem Index zwischen 0 und F zeigt auf einen Ort mit dem gleichen Index, der später im Quelltext kommt. Jede Adresse mit Index zwischen 10 und 7F zeigt auf den leztgenannten 'loko' (Ort) mit dem gleichen Index n vorher im Quelltext. Sobald Paare loko-adr gebildet wurden, kann man den gleichen Index für andere loko-adr-Paare verwenden. So ist es möglich beliebig viele adr-loko-Paare zu bilden.