Die Fahrplandatei ist eine reine ASCII-Text-Datei, die die Zusammenstellung von Zügen und ihre Bewegungen auf dem Bildschirm bestimmt und weiterhin die Einstellungen des Programms enthält.
Jedes Kommando in der Fahrplandatei besteht aus einer einzelnen Codezeile. Da dies die eingegebenen Befehle unter Umständen schwer lesbar macht, gibt es einige wenige Konventionen, mit deren Hilfe die Lesbarkeit und Programmierung deutlich erleichtert wird:
Verschiedene Kommandos oder Parameterwerte gibt es mit unterschiedlichen Codes, aber identischer Bedeutung. Dies liegt einfach daran, daß die Codes oftmals Abkürzungen unterschiedlicher Sprachen entsprechen. Sie können diejenige benutzen, die Sie sich am einfachsten merken können.
IIn der folgenden Syntaxbeschreibung hat das doppelte Gleichheitszeichen ( ==) die Bedeutung von " ist definiert als" und der doppelte Balken ( || ) bedeutet " oder".
Fettschrift bezeichnet exakt diejenigen Zeichen oder denjenigen Text, der fett gedruckt ist.
Die Elemente zwischen < und > sind die aus abstrakten Regeln definierten Syntaxelemente. Im Augenblick sind nur Teile der Syntax in dieser abstrakten Form beschrieben.
Wie ist diese nun zu interpretieren? Hier ist ein einfaches Beispiel:
<Simple> == <Digit> || <Simple> <Digit>
<Digit> == 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9
Dies ist die Definition einer ganzen Zahl. Eine Zahl ist – wenig überraschend – eines der Nummernzeichen <Digit>. Der Doppelstrich bedeutet: nur eines davon. Zahl ist also 1 oder 2 oder 3 oder ... usw. Was bedeutet nun <Simple>? Der linke Teil sagt <Simple> == <Digit>, dies bedeutet, eine einstellige Zahl entspricht einfach der Definition. Der zweite Teil kann lautet: <Simple> == <Simple> <Digit>. Dies bedeutet: wenn man bereits eine Zeichensequenz hat, die der Regel <Simple> entspricht, kann man eine weitere <Digit> anfügen und erhält wiederum eine <Simple>. Diese rekursive Definition beschreibt die Einheit <Simple> komplett: sie ist eine ganze Zahl.
Die Synatxprüfung der Fahrplandatei ist nicht so exakt wie bei einem echten Compiler. Wenn Sie den korrekten Ausdruck in der Form benutzen, wie er den nachfolgenden Regeln entspricht, dann werden Sie auch das beschriebene und gewünschte Verhalten erreichen, auch in zukünftigen Programmversionen.
Wenn Sie in Ausrucken die Regeln verletzen, erhalten Sie vielleicht eine Fehlermeldung. Diese kann in einem eigenen Hinweisfenster erscheinen oder auch als weißes Rechteck die Stelle eines Fahrzeugs auf dem Bildschirm einnehmen, welches die Fehlerbeschreibung enthält. Vielleicht erhalten Sie aber auch ein funktionelles Ergebnis. So kann die Eingabe einer realen Zahl anstelle einer ganzen Zahl zu einem Fehler führen, aber auch zur Nutzung der gerundeten realen Zahl zur nächsten ganzen Zahl. Die Benutzung von Spezialzeichen in Bildnamen kann in einigen Ausdrucken zu Fehlinterpretationen führen oder Sie erhalten mit etwas Glück das gewünschte Resultat. Auf alle Fälle ist es besser, solche Konstrukte zu vermeiden, da der vielleicht heute noch funktionierende Ausdruck in der nächsten Programmversion einen Fehler erzeugt oder eine neue Funktion mit unerwünschtem Ergebnis aufruft.