Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 06.03.2010, 14:46 Titel: Scriptsprache |
|
|
Hi
Ich habe mich ran gesetzt und eine Scriptsprache mit FreeBasic entwickelt.
Folgende Befehle funktionieren:
Code: | Screen = Lässt das Programm im Grafikmodus laufen
Cls = Löscht den Bildschirminhalt
Print = Gibt Text auf dem Bildschirm aus
Color = Setzt die Textfarbe(4Bit Farben)
Input = Eingabe durch Benutzer
Wait = Wartet auf Tastendruck
If = falls...dann-Abfrage(es gibt kein Else!)
Keys = Wird in Zusammenhang mit 'Press' benötigt
Press = Verlangt bestimmten Tastendruck |
Der Sourcecode basiert auf dem QB-Scriptinterpreter INTER(Link), welchen ich in FreeBasic umgewandelt, verbessert und erweitert habe.
Hier das Downloadpaket:http://www.file-upload.net/download-2321508/INTER.tar.gz.html
Es ist eine Linuxkonsolenanwendung dabei, die sich so starten lässt(man muss im Verzeichnis des Interpreters sein):
Der Sourcecode und ein Beispielcode liegen bei. Wer in Besitz eines Windows OS und des Windows fbc ist, kann den Sourcecode gerne als .exe compilen. Ihr könnt es als Basis für eine eigene Scriptsprache nehmen, wenn ihr wollt.
Kritik, Verbesserungsvorschläge etc. sind erwünscht
ys, Westbeam  |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 06.03.2010, 15:09 Titel: |
|
|
JACL - Just Another Crappy Language
könnte für dich interessant sein, ich arbeite grade an anderen sachen.
P.S.: JACL kann nicht viel, aber dazu gehört unter anderem verschachtelung, dimensionieren von variablen, werte-zuweisung, auflösen von mathematischen ausdrücken, und das lesen von dateien. Schleifen und If fehlen noch. _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 06.03.2010, 15:29 Titel: |
|
|
Schaut ganz nützlich aus, danke(allein dein Interpreter hat 5mal soviel Code wie meiner). Vielleicht werde ich dir etwas klauen *g* Spaß(hab in letzter Zeit zu viel Simpsons geguckt.  |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 06.03.2010, 15:35 Titel: |
|
|
du darft gerne JACL-code verwenden. is alles MIT-/X11-lizenz. Du musst also nur die code-teile, die von mir sind offen legen, meinen namen nennen und gut is...
Allerdings: ich hab selbst auch code übernommen, von daher nur gerecht wenn du auch code von mir übernimmst. eventuell sind die LinkedLists für dich besonders interessant. _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 12.04.2010, 14:18 Titel: |
|
|
JACL kann jetz schon seinen eigenen code ausgeben:
jacl-script hat Folgendes geschrieben: | dim(file, integer)
if (fopen(#script, read, file))
for("1",#scriptlines, i)
print(finput(file))
next()
endif() |
Vielleicht sollte ich ne eigenständige projektvorstellung machen... _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
player424
Anmeldungsdatum: 30.12.2008 Beiträge: 21
|
Verfasst am: 12.04.2010, 16:30 Titel: |
|
|
Muss man die Datei bicht wieder schliessen, oder macht dein Interpreter das automatisch? |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 12.04.2010, 16:47 Titel: |
|
|
Oh. hast recht... im beispiel fehlt das "close(file)". Automatisch werden die (noch) nicht geschlossen, kann ich aber einbauen (close() wirds trotzdem noch geben).
JACL, bzw der interpreter sind allerdings noch sehr unvollständig. was schon klappt sind for-schleifen, dateien lesen, einfache if-statements (ohne AND, OR, XOR usw) und noch ein paar kleinigkeiten.
Ich weiß auch noch nicht ob ich while und do-schleifen mache, oder nur do.
Zitat: | Do(until, i = "muh")
...
loop() |
oder
Zitat: | Do()
...
loop(until, i = "muh") |
sollen dann funzen. until und while gehen dann auch beide als "schlagwörter"... und extra "while()" zu machen find ich überflüssig... _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
|