darktrym
Fahnenträger
Hallo,
ich beschäftige mich gerade mit Basic und schreibe dafür einen Interpreter in Java. Leider gibt's ja nicht einen Basic Standard sondern Hunderte. Um meinen zu irgendwas kompatibel zu machen, suche ich Referenz evtl auch Beispiele zu den klass. Basic, also kein moderner Schnickschnack. Ich weiß, dass es da ISO Standards gibt, aber die wollen Bares für die Einsichtnahme.
Alternativ ein paar Fragen(fürs erste):
Mein derzeitiges Basic ist zeilennummerorientiert, soll der komplexitäthalber nur mit klass. Konstrukten arbeiten, also:
LET, GOTO, IF THEN, FOR DO STEP, GOSUB, RETURN, INPUT, PRINT, REM, END usw. und ein paar Builtins.
Zum in Erinnerung schwelgen:
PS: Eine Merkwürdigkeit: PRINT-Parameter werden durch Semikolon getrennt, INPUT-Parameter mit Komma. Und wofür das I hinter NEXT?
ich beschäftige mich gerade mit Basic und schreibe dafür einen Interpreter in Java. Leider gibt's ja nicht einen Basic Standard sondern Hunderte. Um meinen zu irgendwas kompatibel zu machen, suche ich Referenz evtl auch Beispiele zu den klass. Basic, also kein moderner Schnickschnack. Ich weiß, dass es da ISO Standards gibt, aber die wollen Bares für die Einsichtnahme.
Alternativ ein paar Fragen(fürs erste):
- Strings bearbeiten immer über Funktionen, keine Operatoren vorhanden?
- Strings und Bearbeitungsfunktionen haben am Ende immer Dollarzeichen im Namen?
- Gibts implizite Umformungen der Datentypen?
- nur 2 Datentypen(Float, String), wie wurde Modulo, log. Operatoren, Ganzzahldivision dann umgesetzt?
- Gibts sowas wie lokale Variablen bspw. in GOSUB(Unterprogrammsprung)?
- Mehrfachdefinitionen erlaubt?
- FOR-Schleife Parameter manipulierbar?
- Überdeckt die Zählvariable in der FOR-Schleife eine globale Variable?
- Umsetzung andere Schleifen dann über goto?
Mein derzeitiges Basic ist zeilennummerorientiert, soll der komplexitäthalber nur mit klass. Konstrukten arbeiten, also:
LET, GOTO, IF THEN, FOR DO STEP, GOSUB, RETURN, INPUT, PRINT, REM, END usw. und ein paar Builtins.
Zum in Erinnerung schwelgen:
Code:
10 INPUT "What is your name: ", U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: ", N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars? ", A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Goodbye "; U$
140 END
PS: Eine Merkwürdigkeit: PRINT-Parameter werden durch Semikolon getrennt, INPUT-Parameter mit Komma. Und wofür das I hinter NEXT?