Frage von gerlochi, 56

Eigene Skriptsprache - Variablen?

Hi, ich habe es geschafft eine mini Skript-Sprache zu erstellen(mit Java Interpreter(bald C++)), die ein- und ausgeben kann. War ja auch noch nicht so schwer. Aber nun habe ich jede zeile die eingelesen wird, in einen Array gesplittet um mögliche Stichwörter, wie Variablennamen einzulesen. Aber dies kommt zu Komplikationen. Ich habe mir das jetzt mal so gedacht:

http://pastebin.com/zPQfFXpV

Könnte das so gehen? Was meint ihr?

Antwort
von PerfectMuffin, 42

Ist zwar gut dokumentierter Code, aber ich hätte das Problem trotzdem gern von vornherein gesehen.

Kommentar von gerlochi ,

es gibt nicht wirklich ein problem, jedoch wenn ich eine variable einnehme, muss ich sie vor deklarierung einer anderen wieder ausgeben, sonnst wird sie überschrieben.

Kommentar von PerfectMuffin ,

Hats du nur Platz für eine Variable oder wie?

Kommentar von phigeek ,

Warum nicht eine HashMap verwenden, um die Variablen hineinzuspeichern? Dabei ist der Key der Variablenname und der Value ist irgend ein Objekt (Number, String, ...).

Kommentar von gerlochi ,

Musst aber selbst decompilen: http://leonscastle.jimdo.com/meine-programme Dort kannst du dir "MeaSkript Beta" herunterladrn. (.jar)

Kommentar von gerlochi ,

Ich weiß noch nicht wie ich die Variable abspeichern soll. Desswegen gibt es bis jetzt nur eine Temporäre Variable, kann ich mit dem Code den ich mir zusammengedacht habe die VariableN abspeichern und auch so wieder aufrufen? ich habe grade leider kein PC parat und sitze vor dem Handy ^^

Kommentar von PerfectMuffin ,

Wo liegt das Problem mit den Variablen, sie einfach so abzuspeichern, wie sie vorliegen?

Kommentar von gerlochi ,

Wo rein soll ich sie speichern? - Ist meine Frage

Kommentar von PerfectMuffin ,

Du meinst, du könntest in den Scopes den Überblick verlieren und eine globale Variable versehentlich mit einer lokalen permanent überschreiben?

Kommentar von gerlochi ,

Naja, ich weiß noch gar nicht wie ich die Variable dem IN entzie (doch eigentloch schon), aber wo soll ich sie dann in Java abspeichern um verschiedene Variablen ein und ausgeben zu können - durcheinander.

Kommentar von PerfectMuffin ,

iiiiiin Variablen?

Oder in abstrakte Aufrufumgebungen, Lisp-Style...aber dazu ist Java nicht da.

Kommentar von gerlochi ,

Also ich ziehe einen Variablennamen aus der INPUT (IN) Funktion des Programmes, und Speichere dessen Wert in einer anderen Variable. PS: muss gleich off, bin dann von 14 - 20 Uhr wieder hier.

Kommentar von PerfectMuffin ,

So, wo ist das Problem?

Kommentar von gerlochi ,

Das problem ist das, das ich nicht weiß, wie wenn ich eine Variable erschaffe, sie dann auch Speichere, deshalb habe ich den Code oben entworfen um zu fragen ob ich das damit versuchen und vielleicht sogar schaffen kann. Perfekt Muffin ----------------------- Kannst du mir ein Beispiel-Code schicken, ich habe da so schwierigkeiten wenn man es mir ohne Code erklärt. phigeek

Kommentar von PerfectMuffin ,

Es gibt hunderte Möglichkeiten Möglichkeiten. Hier ist eine:

https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html

Kommentar von gerlochi ,

Danke.

Kommentar von gerlochi ,

6 Monate Später (kann gar nicht glauben dass ich das 2016 geschrieben hab :o?!), habe ich endlich mehrere Ansätze für sowas ^-^. Wollte dich mal nach deinem FeedBack fragen (du müsstest doch eigentlich 'ne Nachricht erhaltenn wenn ich dir einen Kommentar abgebe, oder :D?) und deine Meinung zu meinem Anlauf erbitten :-). Ich nenne "es".. Ny++ :D https://github.com/Triploit-org/ny- .

Kommentar von gerlochi ,

PS: Hinter ny muss noch das Minus: https://github.com/Triploit-org/ny-/ (also ny- statt ny).

Kommentar von PerfectMuffin ,

Wow, was ist diese Syntax?

Kommentar von gerlochi ,

Wie meinst du das? Habe das leider nicht ganz verstanden ^-^. Geschrieben ist es in Java, also Plattformunabhängig. Die Snytax hatte ich vor etwas Assemblerähnlig zu gestalten, da dies am besten umsetzbar ist :-) (und da ich ASM mag ^-^).

Kommentar von PerfectMuffin ,

Naja ich habe MIPS gemacht, hast du bestimmte Einsatzmöglichkeiten dafür im Sinn?

Kommentar von gerlochi ,

Nein, eigentlich nicht. Sie ist aus reiner Interesse an der Sache und langer Weile entstanden.

Kommentar von PerfectMuffin ,

Beachtlich!

Keine passende Antwort gefunden?

Fragen Sie die Community