Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phili

unregistriert

1

21.01.2008, 20:57

Scriptsprache

So, nachdem ich ja schon mehrfach meine Skriptsprache in dem ein oder anderen WIP Thread vorgestellt habe öffne ich jetzt mal einen eigenen Thread.
Inzwischen hab ich in die Scriptssprache bereits eine komplette Adress/Zeigerarithmetik, Funktionen und vieles mehr eingebaut.

Als Beispielprogramm hab ich diesmal einen "kleinen" Taschenrechner genommen, der einfache Rechnungen durchführen, Funktionen plotten und eigene Programme ausführen kann. Zusätzlich hab ich auch noch ein kleines Extra integriert.

Das besondere an dem Taschenrechner ist die Funktionsweise. Die einzelnen Funktionen des Taschenrechners(z.B. Funktion zeichnen) sind nicht fest im Quellcode verankert sondern befinden sich in Form von Scripts im Ordner Data.
Dadurch ist das ganze extrem einfach erweiterbar. Einfach ein neues Scripts schreiben, in der Datei "Scripts.txt" eintragen und Rechner neu starten(nur den Taschenrechner :p ).

Die Scriptssprache funktioniert dabei in 2 Schritten, erst wird das Programm kompiliert und dann geparst. Das Kompilat lässt sich als "Temp2.txt" begutachten.

Eine kleine Beschreibung der Sprache liefer ich mit, ich denk aber es ist eigentlich einfacher, sich die schon vorhandenen Scripte anzuschauen und die Sprachdefinition nur sozusagen als Referenz zu benutzen.

http://phili.empty-game.de/Taschenrechner.rar

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

2

22.01.2008, 08:36

Hallo,
hab leider nichts mit bekommen von der Skriptsprache :(
Aber sieht gut aus.
orientiert sich wohl sehr an C und auch Basic/Visual Basic.

Sieht auf jedenfall cool und einfach aus.

Viel Erfolg damit.

Gibts vom compilier und parser auch den src, oder wird das Closed Source :D?

MFG T-Virus
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

Phili

unregistriert

3

22.01.2008, 12:15

@T-VIRUS

Zitat

orientiert sich wohl sehr an C und auch Basic/Visual Basic.

Naja, orientiert sich natürlich schon nen bisschen an vorhandenen Sprachen... man wills ja nich unnötig schwer haben und sich zum beispiel für Pointer usw ne ganz neue Syntax ausdenken, wenns schon so ne praktische wie in C++ gibt.

Zitat

Sieht auf jedenfall cool und einfach aus.

thx :D

Zitat

Gibts vom compilier und parser auch den src, oder wird das Closed Source ?

Hm, also den Code vom Compiler würd ich gern erstmal noch behalten. Aber den vom Parser kann ich gern mal irgendwann hochladen, mal sehn...

Phili

unregistriert

4

22.01.2008, 20:09

So, hab jetzt nochmal eine überarbeitete Version hochgeladen. Hab unter anderem die Anleitung zu der Sprache nochmal neu geschrieben, sollte jetzt sehr viel übersichtlicher sein und auch etwas weniger Rechtschreibfehler beinhalten ;)
Außerdem ist der Parser jetzt etwa 30% schneller, auf meinem Core2Duo E6600 erreiche ich mit einem Kern etwa 14 MIPS.

ich freu mich über jedes Feedback bezüglich Problemen, Lob, Kritik, usw. ;)
http://phili.empty-game.de/Taschenrechner.rar

DennY

Frischling

Beiträge: 22

Wohnort: Zwickau<---

Beruf: Schüler

  • Private Nachricht senden

5

22.01.2008, 20:10

Hi,
ich hab mal bissl rumprobiert und ich find es auch recht gut :!:

Der Rechner is auch verdammt lustig, vorallem das Equal- oder Gleichungsmenü. echt supi!
Eine Frage habe ich aber noch zu "Funktion": ich trag als x1 (is doch glaub ich der kleinste Wert im Definitionsbereich oder) -3 ein. Dann als x2 = 3. y1 = -5 und y2 = 5. dann f(x) = 2^x.
Also eigentlich (laut meines Grafiktaschenrechners) kommt da eine art Kurve raus die streng monoton steigend für alle Werte x ist, keine Nullstelle hat und im ersten und zweiten Quadranten liegt....

Aber irgendwie (liegt es vllt. an mir :?: ) kommt das nicht raus. Ich seh in dem Koordinatensystem nicht mal ne Y-Achse. Ich bin auch noch ein Newbie im programmieren und im Script fand ich keine Lösung für das Problem.
Wäre lieb wenn du mir das nochmal erklärst . :)
mfG DennY

Phili

unregistriert

6

22.01.2008, 20:13

@DennyY
Mein programm kennt den ^ Operator nich(C++ und die meisten programmiersprachen auch nicht). Du kannst statt dessen aber pow(2,x) angeben.

Zitat

is doch glaub ich der kleinste Wert im Definitionsbereich oder

Exakt! ;-)

DennY

Frischling

Beiträge: 22

Wohnort: Zwickau<---

Beruf: Schüler

  • Private Nachricht senden

7

22.01.2008, 20:28

cool :D so funktioniert es! Danke :!:

aber einen Verbesserungsvorschlag habe ich aber noch: es wäre vielleicht übersichtlicher wenn man in das Koordinatensystem die X- und Y-Achse irgendwie stärker hervorhebt und noch die Achseneinteilung ranschreibt ;)

aber sonst finde ich den gesamten Rechner und die Scriptsprache extrem gelungen !
mfG DennY

8

22.01.2008, 20:40

Bloß mal so ne Frage. Wie schneidet deine Sprache so im Vergleich zu altbewärten Skriptsprachen ab?
So z.B. Lua oder so.
Lieber dumm fragen, als dumm bleiben!

Phili

unregistriert

9

22.01.2008, 21:04

@DennY
Also, zumindest das Koordinatensystem an sich wird jetzt angezeigt. Die Achseneinteilung is mir jetz grad aber zuviel arbeit. Wenn du willst kannst du ja selbst mal die Function.txt modifizieren ;).
@Jonathan_Klein
Kann ich ehrlichgesagt nicht beurteilen, hab nie mit Lua oder ähnlichem gearbeitet.

Phili

unregistriert

10

22.01.2008, 21:04

@DennY
Also, zumindest das Koordinatensystem an sich wird jetzt angezeigt. Die Achseneinteilung is mir jetz grad aber zuviel arbeit. Wenn du willst kannst du ja selbst mal die Function.txt modifizieren ;).
@Jonathan_Klein
Kann ich ehrlichgesagt nicht beurteilen, hab nie mit Lua oder ähnlichem gearbeitet.

Werbeanzeige