Vorlage Diskussion:Infobox BASIC
Dokumentation:
In einem Artikel zu einem BASIC V2-, BASIC 3.5-, BASIC 7.0-, Simons'-Basic- oder TSB-Artikel wird Folgendes als erstes eingebunden:
{| align="right" valign="top" |{{Infobox BASIC| |Format = |Parameter1 |Parameter2 = |Parameter3 = |Parameter4 = |Parameter5 = |Parameter6 = |Parameter7 = |Parameter8 = |Typ |Kontext |Aufgabe = |Shortcut |Befehle }} |}
Folgt auf ein Gleichheitszeichen nichts, dann wird dieser Eintrag in der Box nicht angezeigt. Folgt auf einen Parameter gar nichts (also auch kein Gleichheitszeichen), dann wird ein Defaultwert angezeigt. Ansonsten trägt man ein Gleichheitszeichen ein und lässt darauf die Werte, die angezeigt werden sollen, folgen.
Bei BASIC V2, BASIC 3.5 und BASIC 7.0 wird dann keine weitere Programmsyntax-Deklaration im Fließtext mehr angeführt.
Um die Box mit Inhalt zu füllen, müssen nun die einzelnen Zeilen vervollständigt werden:
Format: Es folgt der Befehl mit allen seinen möglichen Parametern nach den Konvertionen der Programmier-Syntax:
- Format = COLOUR [<border>, <back>][,<cursor>]
- am Beispiel von COLOUR für TSB-Schlüsselwörter.
- '''Format = DCLEAR [D<Laufwerk>] [,U<Geräteadresse>]'''
- am Beispiel von DCLEAR für BASIC V2-, BASIC 3.5- und BASIC 7.0-Schlüsselwörter.
- Ein senkrechter Strich ("|") muss hier als
|
eingetragen werden. - Den Umbruch in der recht schmalen Infobox steuern, indem
ein Leerzeichen nicht umbricht oder ein Leerzeichen einfügt, damit genau dort ein Umbruch erfolgt. - Mehrere alternative oder ergänzende Variante eines Formats werden dann (ev. mit nicht hervorgehobenen Anmerkungen) in weiteren Zeilen angegeben.
Parameter (1 bis 8): Wenn ein Befehl keine Parameter besitzt, wird hier gar nichts eingetragen (es erscheint dann: keine). Wenn es allerdings welche gibt, ergänzt man diese der Reihenfolge nach und erläutert sie. Bei Parameter1 muss man mit einem Gleichheitszeichen anfangen. Beispiel COLOUR:
- Parameter1 = <border>: Rahmenfarbe (0..15)
- Parameter2 = <back>: Hintergrundfarbe (0..15)
- Parameter3 = <cursor>: Cursorfarbe (0..15)
- für TSB-Schlüsselwörter (passend zu Format oben).
- Parameter1 = '''<Laufwerk>''': numerischer Ausdruck (0 oder 1)
- Parameter2 = '''<Geräteadresse>''': numerischer Ausdruck im Wertebereich von 3 bis 31 bei BASIC 4 bzw. von 4 bis 30 bei [[BASIC 7.0]]
- für BASIC V2-, BASIC 3.5- und BASIC 7.0-Schlüsselwörter (passend zu Format oben).
Typ: Mit Typ ist die Art des BASIC-Schlüsselwortes gemeint. Dies kann sein: Anweisung (voreingestellt), Kommando, numerische Funktion, Zeichenkettenfunktion, Systemvariable, Systemkonstante, Operator. In unserem Bespiel trägt man nichts ein (ergibt: Anweisung)
- Typ = Anweisung
Kontext: Unter Kontext trägt man ein, in welchem Zusammenhang dieser BASIC-Befehl eine Rolle spielt. Dies kann sein: Programmierhilfe, BASIC-Editor, Fehlerkontrolle, Strukturkontrolle, Programmstruktur, Zahlen, Strings, Logische Verknüpfung, Arithmetik, Konvertierung, Bildschirmkontrolle, Ein/Ausgabe, Peripheriekontrolle, Grafik (voreingestellt), Zeichensatz, Sprites, Musik, Diskettenbefehl, System. Unser Beispiel:
- Kontext = Bildschirmkontrolle
Aufgabe: Hier wird ganz kurz beschrieben, was der Befehl oder die Funktion macht bzw. wozu das Schlüsselwort dient. Beispiel:
- Aufgabe = Stellt die Bildschirmfarben des Textmodus ein
Shortcut: Falls es eine Befehlswortabkürzung gibt, wird sie hier angegeben. Da Simons' Basic so etwas nicht anbietet, lässt man diese Angabe frei und erhält: keiner). Wenn eine TSB-Abkürzung Auswirkungen auf BASIC-V2-Befehle hat, sollte das mit angegeben werden. Unser Beispiel (ist ein TSB-Befehl):
- Shortcut = cO (ändert [[CONT]])
- für TSB-Schlüsselwörter (passend zu Format oben).
- Shortcut = '''dclE'''
- für BASIC V2-, BASIC 3.5- und BASIC 7.0-Schlüsselwörter (passend zu Format oben).
Befehle: Hinter diesem Wort trägt man alle Befehle durch Komma getrennt ein, die mit dem beschriebenen Befehl verwandt sind, also zusammen mit anderen Schlüsselwörtern eingesetzt werden oder einen ähnlichen (ev. nur teilweisen) Funktionsumfang aufweisen.
Keine Angabe ergibt: keiner. Beispiel:
- Befehle = [[BCKGNDS]]
- für TSB-Schlüsselwörter (passend zu Format oben).
- Befehle = [[COLLECT]], [[DCLOSE]]
- für BASIC V2-, BASIC 3.5- und BASIC 7.0-Schlüsselwörter (passend zu Format oben).
Erst danach erfolgt die eigentliche Beschreibung des entsprechenden Befehlswortes, möglichst mit mindestens einem kurzen, funktionstüchtigen Programmierbeispiel.
Kategorien[Quelltext bearbeiten]
Man kann übrigens auch automatisch die Artikel in eine oder mehrere Kategorien zuordnen, wenn die Vorlage eingebaut wurde. Nur: Wenn, dann gilt das eben für alle Artikel und nicht nur hie und da einmal. Deswegen wurde darauf verzichtet. --Joystick 22:20, 21. Jul 2006 (CEST)
Token mit aufnehmen?[Quelltext bearbeiten]
Ich hatte immer mal wieder nach dem Token zu einem Befehl gesucht. Inzwischen weiß ich, dass ich die unter Token finden kann, aber ich hätte sie eher in der Infobox vermutet. Wäre es ok, wenn ich die mit reinnehme? Oder gibt es Gründe, das nicht zu tun? --Berni (Diskussion) 20:07, 31. Jan. 2022 (CET)
- Mach lieber erst eine Benutzer-Testseite mit einer neuen Version der Infobox BASIC so wie Du sie Dir vorstellst und schau dann mal, was die anderen dazu sagen. Die vielen Basic-Befehl-Artikel sollten wir nicht ändern ohne ausdrücklichen Konsens. --Petrus (Diskussion) 11:54, 1. Feb. 2022 (CET)
- OK hier: Benutzer:Berni/Testseite. Was nun? --Berni (Diskussion) 14:52, 1. Feb. 2022 (CET)
- Warten auf zahlreiche Zustimmung:) - Wenn nach einiger Zeit niemand etwas dagegen hatte, mach es.
- Meine hast Du. --Petrus (Diskussion) 16:59, 1. Feb. 2022 (CET)
- Allerdings würde mir als Assembler-Programmierer die Reihenfolge hex/dez besser gefallen, z.B. „$80 (128)“ für END. Soll aber kein Hinderungsgrund sein. --GoDot (Diskussion) 23:09, 2. Feb. 2022 (CET)
- Das war auch meine erste Idee. Ich hatte sie verworfen, weil in BASIC die Hex-Zahlen eher unüblich sind und es hier ja primär um BASIC geht. Mir aber letztendlich egal. --Berni (Diskussion) 07:32, 3. Feb. 2022 (CET)
- Ich bin für GoDots Vorschlag. Die Token sind doch - anders als etwa die Abkürzung - sowieso nur für Programmierer von Interesse, ein Anwender muss sich um sie garnicht kümmern. --Petrus (Diskussion) 10:38, 3. Feb. 2022 (CET)
- Ein BASIC-Programmierer ist auch ein Programmierer... Selbstmodifizierender Code ist dort natürlich eher untypisch, aber es gibt BASIC-Programme, die andere Programme analysieren oder schreiben. Dafür benötigt man dann die Token in Dezimalschreibweise. Aber ich denke schon auch, die Hauptanwendung wird für Assemblerprogramme, bzw. in Monitoren wie dem VICE-Monitor sein. Da ist Hexadezimal vorzuziehen. Scheint also Konsens zu sein, dass wir hex vorziehen. --Berni (Diskussion) 11:19, 3. Feb. 2022 (CET)
- Wie sollen wir die Token-Bytes von Befehlen mit Doppel-Byte-Token (Präfix-Byte plus Token-Byte wie z.B. in Simons' Basic) darstellen? Varianten: 1) Hintereinander durcch Leerzeichen getrennt / 2) Hintereinander mit Komma getrennt / 3) Untereinander mit Hinweis "Präfix" für das erste Byte. --Petrus (Diskussion) 10:33, 3. Feb. 2022 (CET)
- Da hatte ich auch schon drüber nachgedacht. GOTO scheint mir der komplexeste Fall zu sein, weil man es ja auch als GO TO schreiben kann. Ich würde dort
$89 (137) / $cb $a4 (203 164)
schreiben. Das entspräche dann für Erweiterungen der Variante 1 von dir. Bin aber für andere Konventionen auch zu haben. So lange es konsistent ist. --Berni (Diskussion) 11:19, 3. Feb. 2022 (CET)
- Da hatte ich auch schon drüber nachgedacht. GOTO scheint mir der komplexeste Fall zu sein, weil man es ja auch als GO TO schreiben kann. Ich würde dort
- -- 1570 (Diskussion) 22:44, 4. Feb. 2022 (CET)
- Variante 1 ist auch mein Favorit. --Petrus (Diskussion) 09:50, 5. Feb. 2022 (CET)
- Ich mehme das jetzt mal als genügend Pro und werde mich im Laufe des Tages dran machen, Variante 1 umzusetzen.--Berni (Diskussion) 10:13, 5. Feb. 2022 (CET)
- Bei PRINT_USING bin ich mir nicht ganz klar, ob man die Token für PRINT/PRINT# auch mit aufnehmen will... --Berni (Diskussion) 11:13, 5. Feb. 2022 (CET)
- Bei ERRLN und ERRN weiß ich nicht, was die genauen Token sind, da ich kein SIMONS-BASIC besitze und demnach auch nicht nachschauen kann. Kann da jemand mal korrigieren? Danke! --Berni (Diskussion) 12:15, 5. Feb. 2022 (CET)
- Cool, danke! Bei Simons' Basic gibt es keine eigenen Token für ERRN/ERRLN (siehe petcat.c), ich schätze, dass nur das "ERR" darin tokenisiert wird. -- 1570 (Diskussion) 12:49, 5. Feb. 2022 (CET)
- So, ich bin jetzt mit dem Teil, den ich machen kann, durch. Noch ein paar Problemkandidaten: DO_NULL (TSB), DO (TSB), AT (TSB), ERROR (TSB), MEMSAVE (TSB), MEMLOAD (TSB), MEMREAD (TSB), MEMOR (TSB), MEMPOS (TSB), MEMLEN (TSB), MEMCONT (TSB), MEMRESTORE (TSB), MEMDEF (TSB), ADD-SUB-MUL-DIV ARR (SBX), ADD-SUB-MUL-DIV ALL (SBX), SET ARR (SBX), ZER ARR (SBX), PRINT ARR (SBX) - alle anderen Vorkommen der Info-Box habe ich erledigt. Ich hoffe mal, ich habe nicht all zu viele Fehler dabei gemacht :-). Die Beschränkung auf 6 Edits pro Minute? war etwas störend, aber ich hab mich damit arrangieren können... --Berni (Diskussion) 13:20, 5. Feb. 2022 (CET)
- Bin gerade im Urlaub, wenn ich nächste Woche wieder da bin, kommen die Token hier. --GoDot (Diskussion) 15:51, 5. Feb. 2022 (CET)
- Schon erledigt. Ich habe auch in den Simons Basic Token den Abschnitt Spezielle TSB Token ergänzt. --Petrus (Diskussion) 16:36, 5. Feb. 2022 (CET)
- Danke dir! --Berni (Diskussion) 17:31, 5. Feb. 2022 (CET)
- OK hier: Benutzer:Berni/Testseite. Was nun? --Berni (Diskussion) 14:52, 1. Feb. 2022 (CET)
Warum "Format" und nicht "Syntax"?[Quelltext bearbeiten]
...schließlich verlinkt das Feld auch auf Syntax. Ich finde es immer höchst verdächtig, wenn man in einem Artikel auf "Links auf diese Seite" klickt und dann feststellt, dass der Artikel eigentlich ganz ausschließlich unter anderen Bezeichnungen verlinkt wird ("C64-Befehle" ist auch so ein Kandidat). Plus passt an der Stelle eigentlich "Syntax" viel besser weil eindeutiger - ist ja nicht so, dass die Befehle DIN A4 oder 5,25" oder sowas als "Format" hätten. -- 1570 (Diskussion) 22:44, 4. Feb. 2022 (CET)
- Und noch ein Argment für diese Änderung: in der Diskussion:WAIT ging es um die Wiedereinführung der Syntaxzeilen im Artikelkopf. Da wir hier wohl auch den Term "Syntax" benutzen würden, wäre das konsistent mit "Syntax" statt "Format" in der Infobox. --Petrus (Diskussion) 10:01, 5. Feb. 2022 (CET)
- Wenn man sich bei Wikipedia "Format" anschaut, geht es fast ausschließlich um Abmessungen von irgendwas. Wenn ich hingegen "Syntax" im Wörterbuch nachschlage bedeutet das sowas wie Schreibweise. --Berni (Diskussion) 10:13, 5. Feb. 2022 (CET)
Die Anzeige in der Infobox ist jetzt auf "Syntax" geändert. Allerdings besitzen sämtliche BASIC-Befehle noch den Parameternamen "Format". Bevor der Parametername auch in der Infobox auf "Syntax" geändert werden kann, müssten erst alle Befehle angepasst werden. --Petrus (Diskussion) 16:50, 5. Feb. 2022 (CET)
- Dies sieht nun gut aus. Der Parametername ist ja egal, optisch steht nun in der Infobox BASIC bei jedem BASIC-Befehl nun Syntax und verlinkt auch dorthin. --Jodigi (Diskussion) 02:20, 6. Feb. 2022 (CET)