Mehrzeilige Anweisungen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Little John

Beitrag von Little John »

2Mr.X:
Danke für Deine Unterstützung.
Mr.X hat geschrieben:um an das Posting von Kaeru Gaman anzuknüpfen. Ich unterstütze ebenfalls die Variante mit dem 'Zeilenverbindungszeichen(z.B. "_") am Anfang einer Zeile.
Von einem Zeilenverbindungszeichen am Anfang einer Zeile war bisher nicht die Rede (auch Kaeru Gaman hat das nicht geschrieben).
Mr.X hat geschrieben:Jede Anweisung mit einem Anweisungsendezeichen abzuschließen halte ich aus folgenden Gründen nicht für Vorteilhaft:

(1a) Alle existierenden Programme müßten vor der Neu-Compilierung mit einem Anweisungsendezeichen versehen werden. Das ist ein riesen Aufwand bei größeren Projekten.
Richtig, allein deshalb wäre die Einführung eines Anweisungsendezeichens unpraktikabel. Ich habe Kaeru Gamans dahin gehende Äußerung auch als grundsätzliche Überlegung verstanden, nicht etwa als konkreten Vorschlag.
Mr.X hat geschrieben:Fazit: Der "_" als Zeilenverbindungszeichen erhält meine volle Unterstützung. Auch, wenn ich selbst fast alle Programme überarbeiten müßte, da ich den "_" oft als ersten Zeichen für bestimmte Variablennamen verwende. Aber das ist nur ein Durchlauf mit Suchen-und-Ersetzen.[/b]
Mein kleiner Preprozessor nutzt _ als Zeilenverbindungszeichen am Ende einer Zeile (so wie es bei anderen Basic-Dialekten bereits eingebaut ist). Dabei wird _ nur als Zeilenverbindungszeichen interpretiert, wenn es nicht Bestandteil eines Bezeichners (Prozedurname, Variablenname etc.) ist. Daher funktioniert mein Preprozessor mit allen vorhandenen Quelltexten. Er bietet die zusätzliche Möglichkeit, _ als Zeilenverbindungszeichen zu nutzen. Quelltexte, die diese Möglichkeit nicht nutzen, werden auch korrekt verarbeitet.

Gruß, Little John
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Beitrag von Hellhound66 »

Wie wärs damit:

Manche finden "_" vielleicht nicht so toll und wollen vielliecht "#" oder "&" oder oder... Was hälst du von einem optionalen Parameter, der angibt, wie das Zeichen aussieht.

Man könnte es ja am Anfang des Programms angeben:

#MultiLineCommands = "_"

Das könnte der Preprozessor auswerten und übernehmen.
Optimismus ist ein Mangel an Information.
Benutzeravatar
Mr.X
Beiträge: 66
Registriert: 10.08.2005 22:46
Wohnort: im schönen OWL

Beitrag von Mr.X »

@Hellhound66
Sorry, aber Deine Idee mit dem '#MultilineCharacter' finde ich viel zu kompiziert und unübersichtlich. Dann kocht nämlich jeder sein eigenes Süppchen und bald brauchen wir gar keine Syntax mehr, weil ich ja meine eigene Syntax in jeder Quelldatei erst beschreiben muß.

[Achtung obiger Abschnit enthält einen Schuß Ironie !]

@LittleJohn
Da habe ich wohl nicht so geanu gelesen.
Natürlich unterstütze ich den "_" als Zeilenverbindungszeichen an Ende einer Zeile genauso. Ihn dort zu plazieren hätte sogar Vorteile ...
Hellhound66
Beiträge: 476
Registriert: 23.03.2005 23:19

Beitrag von Hellhound66 »

@Mr.X:
Viele Menschen haben gar kein Interesse daran, ihren Code zu veröffentlichen. Denen sind inoffizielle Standards egal und sind froh, wenn sie ihr eigenes Süppchen kochen können. Diese Menschen werden das sicherlich begrüßen. War nur ein Vorschlag.
Optimismus ist ein Mangel an Information.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

evtl. könnte man einen kompromiss finden, indem man die precompiler-direktive
#MultiLineCommands = "#" (oder "&" oder "%", "§"... wasauchimmer..)
optional unterstützt, und "_" als default einsetzt....?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Beitrag von Velz »

Also ich glaube nicht, dass man ein MultilineGate daraus machen muss....

die Idee ist gut, vieleicht nicht perfekt aber wirklich gut...

Und noch besser ist sie weil sie einfach ist.
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Little John

Beitrag von Little John »

2Hellhound66:
Ich bin ein bisschen zwiespältig. Einerseits finde ich die Idee gut, andererseits kann Code, der privaten Konventionen folgt, evtl. von anderen Leuten schlecht weiterverwendet werden.
Kaeru Gaman hat geschrieben:evtl. könnte man einen kompromiss finden, indem man die precompiler-direktive
#MultiLineCommands = "#" (oder "&" oder "%", "§"... wasauchimmer..)
optional unterstützt, und "_" als default einsetzt....?
Das gefällt mir gut. Ich habe es jetzt eingebaut, rate aber zugleich im Kommentar für den Normalfall von der Verwendung einer selbstdefinierten Zeilenverbindungs-Markierung ab. ;)
(Das braucht übrigens nicht ein einzelnes Zeichen zu sein, man kann auch z.B. ... nehmen.)
Auf Seite 1 ist der neue Code (der jetzt auch ausführlicher kommentiert ist). Für sowas scheinen mir die optionalen Parameter von PureBasic wie geschaffen. Falls einer der "alten PureBasic-Hasen" etwas besseres/eleganteres weiß, bitte ich um entspr. Hinweise. :)

Gruß, Little John
Benutzeravatar
Mr.X
Beiträge: 66
Registriert: 10.08.2005 22:46
Wohnort: im schönen OWL

Beitrag von Mr.X »

Auch mich würd wirklich interessieren, ob hier jeder sein eigenes MultilineCommand benötigt, damit er ganz für sich allein programmieren kann und seine Programme für jemand anders gänzlich unlesbar werden, wie z.B. die zukünftigen Programme von Hellhound66 :wink:?

ODER

Geht der allgemeine Tenor doch zu einem Quasi-Standard wie auch in anderen (Programmier-)Sprachdialekten üblich?

Also ich bevorzuge letzteres. Ich werde mir auch nicht die Mühe machen, Programmtexte zulesen, von jemandem, der meint seiner Individualität Ausdruck verleihen zu müssen indem er eine besonders ausgefallene Syntax wählt, das hat mit einer Programmiersprache nichts mehr zu tun.

@Kaeru Gaman
Dein Vorschlag mit der PreCompiler-Direktive wäre zwar in Prinzip ein Kompromiss, führt aber in die gleiche Sackgasse. Um jemandem mit seinem Programmierproblem helfen zu können, reicht es nicht aus seinen Programmsource bei mir zu übersetzen, nein ich muß erst zig Einstellungen in meiner Programmierumgebung ändern nur für einen Compilerlauf. - Totaler Schwachsinn !!

Der "_" am Anfang oder am Ende einer Zeile ist schon gut.

@Little John
Laß diese PreCompiler-Direktive #MULTILINE="<beliebiges Zeichen>" weg. "_" am Ende einer Zeile reicht und gut is. Vielleicht findest Du irgendwann noch ein oder zwei Tricks die Geschwindigkeit um wenige µsec zu verbessern. Und hoffentlich findet einer der PB-Entwickler (André?) an Deinem Tool Gefallen und übernimmt es in den PB-Compiler.

In diesem Sinne, trinkt nicht soviel Bier heut' Nacht und einen schönen Sonntag.
Mr.X
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Mr.X

deine kritik in ehren, und mit deinem gesamtgedanken liegst du ja richtig.

aber mein vorschlag bedeutet ja,
dass jemand direkt am anfang seines source eine precompiler-direktive angibt,
welches verbindungszeichen er verwendet.
wenn du denselben precompiler verwendest, versteht er das.
wenn er keine direktive angibt, ist es das "_".

@Little John
danke für die würdigung meines beitrags. :D
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Little John

Beitrag von Little John »

Kaeru Gaman hat geschrieben:mein vorschlag bedeutet ja,
dass jemand direkt am anfang seines source eine precompiler-direktive angibt,
welches verbindungszeichen er verwendet.
wenn du denselben precompiler verwendest, versteht er das.
wenn er keine direktive angibt, ist es das "_".
Ich habe mir das so gedacht, dass der Preprocessor in Form einer EXE-Datei als externes Werkzeug in die IDE eingebunden werden kann/soll. Daher denke ich ist es flexibler, wenn eine benutzerdefinierte Zeilenverbindungs-Markierung zur Laufzeit als Parameter angegeben werden kann.
Trotzdem wäre ich persönlich ziemlich genervt, wenn ich dauernd für die Verarbeitung verschiedener PB-Quelltexte verschiedene Parameter angeben müsste. Aber ich denke man kann da ganz beruhigt sein, denn andere Zeichen als der Quasi-Standard _ werden wohl ohnehin keine große Schangse haben, sich im größeren Stil zu verbreiten.
Kaeru Gaman hat geschrieben:@Little John
danke für die würdigung meines beitrags. :D
Ich danke für die rege Beteiligung an der Diskussion, und die interessanten Ideen, auch von anderen.

Sehr freundliches und konstruktives Forum hier! :allright:

Gruß, Little John
Antworten