c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] Basic-Interpreter (für c't-Bot)

Absender: Timo Sandmann
Datum: Di, 29.03.2011 21:40:25
In-reply-to: <4D921683.5060902@xxxxxxx>
References: <1ac236efdb2ae353dba0652e0009d0d7.squirrel@xxxxxxxxxxxxxxxxxxx> <BDD47587-412D-4D50-AC42-4B488A95575E@xxxxxxxxxxxxxxx> <4CF809BA.3070600@xxxxxxx> <B796DEF3-49CB-4F9A-B0AA-D42C7000926D@xxxxxxxxxxxxxxx> <20110309225657.432787bb.bergeruw@xxxxxxx> <4D19D5D5-4972-4D76-95F1-AFA65B36A076@xxxxxxxxxxxxxxx> <4D80E3E5.8050702@xxxxxxx> <C2269E6E-EBB2-40E9-B1EB-06984CD3ECDF@xxxxxxxxxxxxxxx> <9DDF1CF6-342A-4681-8296-77899A820AA8@xxxxxxxxxxxxxxx> <20110320213615.6522f43a.bergeruw@xxxxxxx> <6FB8CA6E-9D8F-4556-936C-0B0CC95B789A@xxxxxxxxxxxxxxx> <1a7fbb756d29789435f7638aa199bea6.squirrel@xxxxxxxxxxxxxxxxxxx> <77714C4A-E5BA-4D31-AFE5-4D20122ACC7C@xxxxxxxxxxxxxxx> <4D921683.5060902@xxxxxxx>


Hallo Uwe,

Am 29.03.2011 um 19:27 schrieb Uwe Berger:
> MoinMoin,
> 
> im SVN auf Mikrocontroller.net ist eine neue Version des
> Basic-Interpreters verfügbar, die es erlaubt BASIC-Programme ohne die
> typischen Zeilennummerierung zu schreiben.

die neue Version werde ich dann natürlich auch ins SVN einbauen. Da ich derzeit an einem neuen Verhalten bastele, wird es bis zum Commit vermutlich aber noch ein klein wenig dauern. 

> Also z.B. so:
> 
> print "Hallo Uwe"
> for i=1 to 10
>   print i
> next i
> gosub 20
> goto 10
> print "hier nicht!"
> 10: rem ...
> print "hier ist korrekt..."
> end
> 
> 20: rem UP...
> print "Unterprogramm"
> return

Spontan habe ich da noch ein paar kleinere Fragen, allerdings nur auf der EBNF-Grammatik der Dokumentation basierend, ich habe den Code noch nicht ausprobiert:
 - Das Sprungziel muss immer mit einer Zahl gekennzeichnet werden, Text-Labels sind also nicht möglich?
 - Der Doppelpunkt hinter dem Label ist optional?
 - Auf das Label muss immer auch noch eine Anweisung in derselben Zeile folgen?
    goto 10
    10: 
    print "hier ist korrekt..."
   wäre also kein gültiges Programm?
 - Laut EBNF wäre auch folgendes Programm gültig:
    GOTO CALL ("foo", 42)
   das dürfte aber wohl kein korrektes Programm sein.

Grüße,
Timo