Syntax

Tragen Sie hier Ihre Wünsche und Anregungen für zukünftige BAHN- und Editorenversionen ein!
Andi

Syntax

Beitrag von Andi »

Ich möchte einmal einen Vorschlag zum Syntax in Bahn allgemein machen:

In Anlehnung an php habe ich mir Folgendes ausgedacht:

Bedingungen werden in "()" geschrieben, die ausgeführten Ereignisse in "{}". Mehrere Anweisungen werden weiterhin mit "," getrennt. Dieses Prinzip sollte auf alle Aktionssymbole anwendbar sein. "()" und "{}" erzwingt eine Zuweisung der Daten, also L= etc.

Beispiel für einen Datenwechselpunkt:
(L=12,Z=8:00-9:00){L=12E,N=MAX}

Auffallend ist hier die zweifache Benutzung von L=, außerdem ist die Zeitangabe in die Bedinghung gewandert. Zuvor gab es N= und n= in der selben Klammer, dies kann jetzt umgangen werden.

Über eine Umsetzung bei Signalanlagen und Taktpunkten muss ich mir noch gedanken machen.
Ronny Kraus
Administrator
Beiträge: 1003
Registriert: Sonntag 16. März 2003, 13:43
Wohnort: Leipzig

Re: Syntax

Beitrag von Ronny Kraus »

Und wo genau ist da nun der Vorteil, der eine Änderung rechtfertigen würde?
Andi

Re: Syntax

Beitrag von Andi »

Welcher Vorteil?
Größere Flexibilität und in meinen Augen Übersichtlichkeit.

Vorher ist Folgendes nicht möglich gewesen:

(L=1,T=E){L=12}

Dies ist jetzt leider ein seltenerer Anwendungsfall gewesen, bisher war das aber nur durch eine zugtypabhängige Weiche mit nachfolgendem Datenwechselpunkt möglich.

Bei Signalanlagen wäre z.B. folgendes vorstellbar:
(L=1,T=E){S1+,S2}

Zu den Signalanlagen ist mir sogar noch etwas eingefallen:
(L=1,!S1&S3){S2+}
Zuletzt geändert von Andi am Donnerstag 1. Juni 2006, 20:46, insgesamt 1-mal geändert.
GKords
Beiträge: 160
Registriert: Mittwoch 19. März 2003, 21:46
Wohnort: Greifswald
Kontaktdaten:

Re: Syntax

Beitrag von GKords »

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Welcher Vorteil?
Größere Flexibilität und in meinen Augen Übersichtlichkeit.</tr></td></table>
Ich bin mir nicht sicher, ob das die Übersichtlichkeit erhöht. In jedem Fall produziert es mehr Aufwand. Sicher, das was du beschreibst, war so nicht möglich. Aber es erhöht die Komplexität so immens - ich weiß nicht. Vielleicht sollte man für den Fall "L=x mit T=y" schon vorweg eine neue Linie schaffen.
Wenn man die Flexibilität erhöhen will, würde ich für eine radikalere Erneuerung plädieren: Ein System, wo man ziemlich frei WENN-DANN-Ketten aufbauen kann. Wobei dir, Andi, natürlich letztendlich sowas vorschwebt, wenn ich dicht richtig verstehe.
Ich bin mir nicht sicher, ob ein modulareres System den erheblichen Mehraufwand rechtfertigt, den es macht.
Gruß
GKords
Dierk Nüchtern
Beiträge: 3111
Registriert: Montag 17. März 2003, 16:55
Wohnort: Dortmund
Kontaktdaten:

Re: Syntax

Beitrag von Dierk Nüchtern »

Also übersichtlicher ist das ganze auf keinen Fall!! Eher das Gegenteil!! Und gerade wenn man neue User hat, bringt es nichts, sie noch mehr zu verwirren!
Für alle Fotografen: Die neue Lightrail-Gallery ist online http://gallery.lightrail.de/
Jan Bochmann
Beiträge: 2212
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Syntax

Beitrag von Jan Bochmann »

Guten Tag,

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Ich möchte einmal einen Vorschlag zum Syntax in Bahn allgemein machen:

In Anlehnung an php habe ich mir Folgendes ausgedacht:

Bedingungen werden in "()" geschrieben, die ausgeführten Ereignisse in "{}". Mehrere Anweisungen werden weiterhin mit "," getrennt. Dieses Prinzip sollte auf alle Aktionssymbole anwendbar sein. "()" und "{}" erzwingt eine Zuweisung der Daten, also L= etc.

Beispiel für einen Datenwechselpunkt:
(L=12,Z=8:00-9:00){L=12E,N=MAX}</tr></td></table>

Das ist nicht nur in php so, sondern z.B. auch in C. Die geschweiften Klammern wurden auch in früheren BAHN-Versionen verwendet. Das stieß aber allgemein auf Ablehnung, weil sie auf verschiedenen Tastaturlayouts nur schwer oder gar nicht zu finden sind. Sie wurden deshalb in BAHN abgeschafft.

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">
Auffallend ist hier die zweifache Benutzung von L=, außerdem ist die Zeitangabe in die Bedingung gewandert. </tr></td></table>

Bzw. die Linie ist dahinein gewandert, das ist Ansichtssache. Tatsächlich könnte man die verschiedenen Bedingungen sytaktisch gleichstellen. Früher gab es dafür aber nur die Linie, deshalb hat sie hier immer noch eine Sonderstellung.

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Zuvor gab es N= und n= in der selben Klammer, dies kann jetzt umgangen werden. </tr></td></table>

Wofür stand "n=" ? 2 gleiche Zuweisungen in derselben Klammer sind eigentlich nicht möglich.

Gruß
Jan B.
Andi

Re: Syntax

Beitrag von Andi »

Oh, da habe ich mich geirrt, ich dachte die Einschränkkungen der betreffenden Zugnummern seien mit n= festgelegt, dass ist aber ein u=.
Benutzeravatar
Jan Eisold
Beiträge: 5048
Registriert: Montag 17. März 2003, 15:55
Wohnort: Dresden
Kontaktdaten:

Re: Syntax

Beitrag von Jan Eisold »

Hallo,

ich bin ehrlich gesagt nicht überzeugt, dass diese neue Syntax wirklich etwas bringt. Wenn, dann sollte man zusätzliche Bedingungen (Zeit, Zugnummer, Zugtyp etc.) wie bisher in eine Klammer schreiben. Hier hätte man allerdings das Problem, bei den Operatoren zwischen Bedingung und Wirkung zu unterscheiden. Man könnte ggf. erst mit Komma getrennt die Bedingungen, dann ein Semikolon und danach mit Komma getrennt die Wirkungen auflisten. Kein Semikolon bedeutet, keine Bedingung (der Fall "keine Wirkung" macht ja keinen Sinn). Die betroffene Linie stünde, wie bisher auch, vor der Klammer. Ob man sowas allerdings wirklich braucht, ist eine andere Frage...

MfG Jan
- schöner leben ohne nazis -
Jan Bochmann
Beiträge: 2212
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Syntax

Beitrag von Jan Bochmann »

Guten Tag,

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Hallo,

ich bin ehrlich gesagt nicht überzeugt, dass diese neue Syntax wirklich etwas bringt.</tr></td></table>

Ich auch nicht.

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Wenn, dann sollte man zusätzliche Bedingungen (Zeit, Zugnummer, Zugtyp etc.) wie bisher in eine Klammer schreiben.</tr></td></table>

Es würde ggf. auf eine Gleichstellung aller möglichen Bedingungen hinauslaufen, d.h. es gibt keine "zusätzlichen" mehr. Heute muß man ja immer eine Linie angeben, und wenn diese Bedingung nicht relevant ist, dann eben als "*".

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">...Kein Semikolon bedeutet, keine Bedingung (der Fall "keine Wirkung" macht ja keinen Sinn)...</tr></td></table>

Der Fall ist sehr häufig, z.B. an Weichen und Taktpunkten (gültig für Linie[n]...).

MfG
Jan B.
Andi

Re: Syntax

Beitrag von Andi »

Dann wird's aber mit der Korrektur komplizierter, wer hält schon gerne "," und ";" auseinander. Vor allem bei weißer Schrift auf grauem Hintergrund, also für mich persönlich ist das bei diesen Zeichen zu kontrastlos. (An sich finde ich die Farben natürlich in Ordnung)
Benutzeravatar
Jan Eisold
Beiträge: 5048
Registriert: Montag 17. März 2003, 15:55
Wohnort: Dresden
Kontaktdaten:

Re: Syntax

Beitrag von Jan Eisold »

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Dann wird's aber mit der Korrektur komplizierter, wer hält schon gerne "," und ";" auseinander. Vor allem bei weißer Schrift auf grauem Hintergrund, also für mich persönlich ist das bei diesen Zeichen zu kontrastlos. (An sich finde ich die Farben natürlich in Ordnung)</tr></td></table>
Des Semikolon war ja nur ein Beispiel. Man könnte auch gerne andere Zeichen dafür nehmen, z.B. / oder : , die sich besser vom Komma unterscheiden lassen.
- schöner leben ohne nazis -
Jan Bochmann
Beiträge: 2212
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Syntax

Beitrag von Jan Bochmann »

Guten Tag,

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">Des Semikolon war ja nur ein Beispiel. Man könnte auch gerne andere Zeichen dafür nehmen, z.B. / oder : , die sich besser vom Komma unterscheiden lassen</tr></td></table>

Das "/" ist gültiges Zeichen für Linien, man kann es also nicht als Trennzeichen verwenden. Der ":" wird bereits an etlichen Stellen als Trennzeichen verwendet, vor allem bei Zeitangaben. Allzuviele geeignete Zeichen gibt es nicht.

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">
(An sich finde ich die Farben natürlich in Ordnung)
</tr></td></table>

Und wenn nicht, kannst Du sie doch ändern. Genau das selbe gilt auch für die verwendeten Fonts.

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">
Sowas lässt sich wohl leicht machen oder?
</tr></td></table>

Nein. Es läßt sich leicht kaputt machen. Aber so ändern, daß es weiterhin kompatibel funktioniert, ist nicht einfach.

MfG
Jan B.

<span style="color:red"> Edit Heiko: </span> Grußformel von Michael auf Jan B. geändert.
Zuletzt geändert von Jan Bochmann am Freitag 2. Juni 2006, 17:58, insgesamt 1-mal geändert.
Rolf R
Beiträge: 2190
Registriert: Donnerstag 20. November 2003, 20:41
Wohnort: Erfurt

Re: Syntax

Beitrag von Rolf R »

Ich bin mit der aktuell verwendeten Syntax und den Befehlen zufrieden und sehe hier eigentlich keine Veranlassung etwas zu ändern.

Andernfalls finde es aber gut, dass man sich hier -wie in diesem Falle Andi- Gedanken macht, wie man mein Lieblingsprogamm verfeinern oder verbessern kann.

Grüße

Rolf
Mein Link-Tipp zu BAHN: http://www.gerdinoack.de. Dort findet Ihr Filme und Grafiken zu BAHN von Gerd (Username gnock) und mein neues Fahrzeugarchiv, das auch unter dem neuen Direktlink www.gerdinoack.de/Fahrzeugarchiv_385/ zu erreichen ist.
Ronny Kraus
Administrator
Beiträge: 1003
Registriert: Sonntag 16. März 2003, 13:43
Wohnort: Leipzig

Re: Syntax

Beitrag von Ronny Kraus »

<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr> <td><span class="genmed">Zitat:</span></td></tr><tr><td class="quote">
Andernfalls finde es aber gut, dass man sich hier -wie in diesem Falle Andi- Gedanken macht, wie man mein Lieblingsprogamm verfeinern oder verbessern kann.
</tr></td></table>

Was in dieser Kategorie ja schon rund 170 mal versucht wurde... [img]icon_wink.gif[/img]
Zuletzt geändert von Ronny Kraus am Freitag 2. Juni 2006, 21:45, insgesamt 1-mal geändert.
Antworten