1char - Meine kleine Scriptsprache
Verfasst: Mittwoch 9. Juli 2008, 14:33
Hallo alle zusammen,
Den kleinen Interpreter den ich ja praktisch schon im "Allgemeine Fragen" Forum "angekündigt" habe ist jetzt so weit fertig dass ich ihn hier nochmal komplett und funktionierend vorstellen möchte.
Ich habe die Sprache 1char (gesprochen onechar) genannt, da das erste Zeichen in einer Zeile immer der Befehl ist.
Die Syntax: [BEFEHL][PARAMETER 1],[PARAMETER 2],[PARAMETER 3],usw...
Wichtig ist hierbei dass zwischen dem Befehl und den Parametern keine Leerzeichen stehen.
Variablen:
Man hat ein Array Names x zur Verfügung. auf die einzelnen Elemente greift man zu in dem man einfach die Zahl des Feldes hinten anhängt. z.B: x3
Die Befehle:
. Der Punkt gibt einen Text oder eine Variable aus.
Beispiel:
."Hallo",x5
Schreibt man statt x5, a5 wird der Integer Wer in der Variablen x5 als ASCII Zeichen ausgegeben.
, Ließt einen Integer Wert in eine Variable ein.
Beispiel:
,x3
+ Addiert zum Parameter 1 den Parameter 2 dazu.
Beispiel:
+x6,x3
- Subtrahiert den 2. Paramter von dem 1. Parameter.
Beispiel:
-x6,x3
* Multipliziert beide Parameter miteinander.
Beispiel:
*x3,x2
/ Dividiert den 1. Parameter durch den 2.
Beispiel:
/x3,x8
= Ordnet dem Parameter 1 den Wert von Parameter 2 zu.
Beispiel:
=x2,5
< Überspringt die nächste Zeile wenn der Parameter 1 größer als der Parameter 2 ist.
Beispiel:
<x1,x2
> Überspringt die nächste Zeile wenn der Parameter 1 kleiner als der Parameter 2 ist.
Beispiel:
>x1,x2
j Springt zu einer Sprungmarke.
Beispiel:
j:start
: Markiert eine Sprungmarke.
Beispiel:
:start
e Beendet das Programm
Beispiel:
e
Ich habe hier als Beispiel das Programm 99 Bottles of Beer geschrieben:
Und zuletzt dann noch den Interpreter: http://paste.pocoo.org/show/78983/
Um ein Programm zu interpretieren einfach folgendes in die Konsole eingeben:
python 1char.py 1char_code.txt
Warscheinlich ist nicht alles "Pythonisch" geschrieben, bzw ganz sicher sogar, aber das war praktisch nur eine Übung für mich, da Python für mich noch neu ist. Aber ich muss sagen die Art mit Python zu programmieren hat einen gewissen Reiz. (Wobei ich trotzdem gerne mit C/C++ Programm schreibe).
MfG
Dr.ChAoS
Den kleinen Interpreter den ich ja praktisch schon im "Allgemeine Fragen" Forum "angekündigt" habe ist jetzt so weit fertig dass ich ihn hier nochmal komplett und funktionierend vorstellen möchte.
Ich habe die Sprache 1char (gesprochen onechar) genannt, da das erste Zeichen in einer Zeile immer der Befehl ist.
Die Syntax: [BEFEHL][PARAMETER 1],[PARAMETER 2],[PARAMETER 3],usw...
Wichtig ist hierbei dass zwischen dem Befehl und den Parametern keine Leerzeichen stehen.
Variablen:
Man hat ein Array Names x zur Verfügung. auf die einzelnen Elemente greift man zu in dem man einfach die Zahl des Feldes hinten anhängt. z.B: x3
Die Befehle:
. Der Punkt gibt einen Text oder eine Variable aus.
Beispiel:
."Hallo",x5
Schreibt man statt x5, a5 wird der Integer Wer in der Variablen x5 als ASCII Zeichen ausgegeben.
, Ließt einen Integer Wert in eine Variable ein.
Beispiel:
,x3
+ Addiert zum Parameter 1 den Parameter 2 dazu.
Beispiel:
+x6,x3
- Subtrahiert den 2. Paramter von dem 1. Parameter.
Beispiel:
-x6,x3
* Multipliziert beide Parameter miteinander.
Beispiel:
*x3,x2
/ Dividiert den 1. Parameter durch den 2.
Beispiel:
/x3,x8
= Ordnet dem Parameter 1 den Wert von Parameter 2 zu.
Beispiel:
=x2,5
< Überspringt die nächste Zeile wenn der Parameter 1 größer als der Parameter 2 ist.
Beispiel:
<x1,x2
> Überspringt die nächste Zeile wenn der Parameter 1 kleiner als der Parameter 2 ist.
Beispiel:
>x1,x2
j Springt zu einer Sprungmarke.
Beispiel:
j:start
: Markiert eine Sprungmarke.
Beispiel:
:start
e Beendet das Programm
Beispiel:
e
Ich habe hier als Beispiel das Programm 99 Bottles of Beer geschrieben:
Code: Alles auswählen
#99 Bottles of Beer
#von Dr.ChAoS
#geschrieben in 1char
=x1,99
:start
.x1," bottles of beer on the wall"
.x1," bottles of beer!"
."You take one down, and pass it around"
-x1,1
<x1,1
j:nomore
.x1," bottles of beer on the wall!"
.""
j:start
:nomore
."No bottles of beer on the wall"
e
Um ein Programm zu interpretieren einfach folgendes in die Konsole eingeben:
python 1char.py 1char_code.txt
Warscheinlich ist nicht alles "Pythonisch" geschrieben, bzw ganz sicher sogar, aber das war praktisch nur eine Übung für mich, da Python für mich noch neu ist. Aber ich muss sagen die Art mit Python zu programmieren hat einen gewissen Reiz. (Wobei ich trotzdem gerne mit C/C++ Programm schreibe).
MfG
Dr.ChAoS