Definition
<program> ::= <block>+ <new-line>
<new-line> ::= "\n"
<block> ::= <cell>+
<cell> ::= "[" <content> "]"
<content> ::= <function> "=" <target>
<function> ::= <text> | <text>:<address>
<address> ::= <text>
<target> ::= <value> | <text>
<value> ::= <text> | <decimal> | <integer>
<decimal> ::= <integer> "." <integer>
<integer> ::= <digit>+
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<text> ::= <characters>+
<character> ::= 'A' ... 'Z' | '_'
<program>
: Ein Programm besteht aus einer oder mehreren Blöcken.<block>
: Ein Block ist eine Sammlung einer oder mehrerer Zellen.<cell>
: Eine Zelle ist die grundlegende Einheit eines Programms. Jede Zelle besteht aus einem Inhalt, der in eckigen Klammern […] eingeschlossen ist.<content>
: Der Inhalt einer Zelle setzt sich aus einer Funktion und einem Ziel zusammen, ge-trennt durch ein Gleichheitszeichen =.<function>
: Die Funktion gibt an, welche Aktion in der Zelle ausgeführt wird. Eine Funktion kann entweder aus einem Text oder aus einem Text gefolgt von einem Doppelpunkt : und einer Adresse bestehen.<address>
: Die Adresse ist optional und wird nur verwendet, wenn die Funktion sie benötigt. Sie besteht aus Text.<target>
: Das Ziel gibt an, auf welches Element oder auf welche Daten die Funktion angewendet wird. Das Ziel kann entweder ein Wert (value) oder Text sein.<value>
: Ein Wert kann Text, eine Dezimalzahl oder eine Ganzzahl sein.<decimal>
: Eine Dezimalzahl besteht aus einem Ganzzahlteil und einem Dezimalteil, die durch einen Punkt . getrennt wird.<integer>
: Eine Ganzzahl ist eine positive oder negative ganze Zahl ohne Dezimalstellen.<text>
: Text ist eine Abfolge von Zeichen, die aus Buchstaben (Gross- oder Kleinbuchstaben) bestehen kann.<characters>
: Die Zeichenkettesteht für eine Abfolge von einem oder mehr Zei-chen. <character>
: Ein einzelnes Zeichen kann ein Grossbuchstabe oder ein ‘_’ sein.