Ernie-Script (I/II)

In der letzten Zeit habe ich mich darum bemüht, das Scripting-System mehr oder weniger fertigzustellen. Es funktioniert auch schon ganz hervorragend und die Sprache trägt den Namen Ernie-Script. Hahaha! Und zwar bekommt der Skriptschreiber keine Errors und Warnings an den Kopf geballert, sondern Ernies und Warnies, wenn er es nicht rafft, korrekt zu coden. Wie findet ihr das? Ich find’s geil! Ein ganz dicker Dank geht da an meinen Kollegen Milan „Marek“ Karow, der die ausschlaggebende Idee hatte.

Die Sprache umfasst einige bekannte Schlüsselwörter mit vermutlich erwartungskonformer Bedeutung:

break continue do else elseif
false for function if repeat
return true until void while

Dann gibt es noch einige zusätzliche schlüsselwortartige Features wie zum Beispiel typeof, cast oder who. Was jedoch noch fehlt, ist die Möglichkeit, in einem Block lokale Variablen anzulegen, ohne globale Variablen zu überschreiben. Oder entsprechendes Gegenstück: Wenn auf globale Variablen zugegriffen werden soll, müssen diese entsprechend deklariert werden. Der Grund dafür, dass ich das noch nicht eingebaut habe, ist nämlich eben der, dass ich mich bislang noch nicht entscheiden konnte, welche dieser beiden Alternativen die geilere ist.

Neben den Schlüsselwörtern gibt es noch einige Operatoren, die ihr folgender Tabelle entnehmen könnt (nach Prioritäten sortiert):

Symbol Name Beispiel
. table entry selection obj.member
[] table entry selection obj[ expr ]
() function call foo( bar )

! not !expr
unary minus -expr
+ unary plus +expr
& address of &obj
* dereference *ref

* multiply expr * expr
/ divide expr / expr
% modulo expr % expr

+ add expr + expr
subtract expr – expr

< less than expr < expr
<= less than or equal expr <= expr
> greater than expr > expr
>= greater than or equal expr >= expr

== equal expr == expr
!= not equal expr != expr

&& logical and expr && expr

|| logical inclusive or expr || expr

^ logical exclusive or expr ^ expr

:= single assignment lvalue := expr

Habe ich was vergessen? Ich weiß es nicht. Achso: Bitweise and-, or– und xor-Operatoren werden bislang noch nicht unterstützt.

Für die meisten ist das jetzt vielleicht relativ uninteressant, aber in den näxten Tagen werde ich einen Download bereitstellen. Dann könnt ihr euch eine Testanwendung runterladen und selbst etwas mit Ernie-Script herumspielen.

Bis die Tage.

Eine Antwort zu “Ernie-Script (I/II)”

  1. Pa Nza sagt:

    Moin Flinsch,

    das ist mal ein wirklich gelungener Name. Die Sache mit den Ernies und Warnies gefällt mir schon ganz gut. Wie heissen den reine Infomessages? Messies?

    Wäre tight.

    Ciao Laumann
    Pa

Hinterlasse eine Antwort