Easy - Compiler / Interpreter

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Easy - Compiler / Interpreter

Beitrag von MVXA »

Abend :mrgreen:.
Ich hab was in der Nacht aus langeweile fix programmiert. Es ist eine Programmiersprache :mrgreen:. Ich änder noch ein paar Funktionen und mach noch welche nach. Die Referenz kann man sich schon mal hier ansehen: Referenz. Achja und bitte, nehmt das Programm (die Referenz schon...) nicht so ernst :lol:, es ist mehr sowas was man als zusammen geschreibsel aus reiner langweile bezeichnen könnte. Wer sie jetzt noch lernen will. viel spaß :D

Hier ist noch ein Beispiel. Einst war es ein Besipiel für doe Konsolen Lib von Purebasic. jetzt ist daraus ein Beispiel für Easy geworden :lol:

Konsole.zip - 1,55 KB

Edit: beispiel entfernt, da es ein paar Fehler im Code gab (meine konzentration lässt nach /:-> :coderselixir: )

Edit die 2.: Beispiel wieder drin und hab die Referenzen erneuert. Aufgelistet sind neue Funktionen und was Funktionen annehmen.
Zuletzt geändert von MVXA am 28.12.2004 10:11, insgesamt 3-mal geändert.
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Wichtig, muss vor jedem Programm aufgeruffen werden um den Speicher zu diensionieren.
"m" muss da noch rein

JOC -> passt nicht wirklich
mach lieber

JL -> Jump when Less
JNL -> Jump when Not Less
JE -> Jump when Equal
JNE -> Jump when Not Equal
JG -> Jump when Greater
JNG -> Jump when Not Greater
JMP -> Always

[EDIT]
Warum höchstens nur 2 Parameter?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

zu faul mehr zu machen :? ? ich schreib das ganze jetzt etwas um, wird dann etwas sinnlo... voller meinte ich :roll: Und bis jetzt bin ich mit 2 immer gut ausgekommen :mrgreen:
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Warum nicht unendlich? :P Man sollte ja auch irgendwann richtige API Funktionen aufrufen können, oder? Außer du machst das ganze wie in altmodischen ASMs:

...
PUSH hWnd
PUSH SW_NORMAL
CALL ShowWindow
POP
POP
...
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

was so ähnlich geplant. aber darf ich erstmal den interpreter fertig schreiben ? Danke <). Das ding sieht z.Z. richtig übel aus. Als ich bemerkt habe, dass ich das teil noch etwas weiter programmieren möchte, musste ich die gesamte Datei neu strukturieren, damit ich das ganze auf dauer lesen kann /:->. Mit Freds worten: I'm on it :mrgreen:
Bild
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

So, steht. Bin ein fleißiges kerlchen :mrgreen:. Ich mach was am Compiler, damit er meine Fehler erkennt, sonst rasst ich noch aus und änder noch den interpreter an stellen wo er eigentlich agrnid kaputt ist.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Jawohl

Beitrag von Hroudtwolf »

In den 80zigern wäre das ein HIT geworden.
:allright:
:wink:
Benutzeravatar
Helmut
Beiträge: 162
Registriert: 20.09.2004 22:53

Beitrag von Helmut »

irgentwie gehen die Link's nicht...
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Der Webspace ist nur spendiert worden, von einem Freund. Wenn der Link (oder meine Sig) nicht verfügbar ist, dann macht er gerade irgendwas mit dem Server. Ist halt seine Maschine ;)
Bild
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Reales !
Ich hab nun den Interpreter fertig geschrieben. Ich hatte keine Lust mehr an der Referen noch die Befehle zu ändern. Achtung, ein paar funktionieren nicht mehr so wie in der Referen angegeben ! Dem Packet liegt SourceCode und Compiler bei. Im Archiv sind zusätzlich noch ein paar Beispiel code. Bevor hier jetzt jeder kommt und mich auslacht: Die Scripte werden vom Compiler in eine struktuerierte Linked List eingelesen und dann als Structure "compiliert" in eine Dateigespeichert. Das gleiche passiert auch mit den Pointern. Die 2 entstandenen Dateien werden dann mit der VBin Lib zusammen geführt und so bekommt man eine "Binärdatei". Hier nun der Download link:

Easy.zip - 34.5 Kbyte

ehm, nochwas. An dem Interpreter und am Compiler wird nicht mehr weiter gearbeitet! Wer das Programm aber lustig findet kann es meinet wegen gerne weiter programmieren :lol:. In dem Sinne: Viel Glück und have fun

Edit:
Ich habe nun eine neue Version hoch geladen. In dieser gibt es ein kleinen Bugfix. Wenn man Daten 'gestort' hat und eine Funktion aufrufte, konnte man keine neue Funktion afurufen, da der Zwischenspeicher nicht gelöscht wurde. Dies wurde nun behoben. Zusätzlich habe ich die Funktion um eine Funktion in einer DLL aufrufen durch eine eigenen klitzekleine routine ersätzt (eine Zeile :lol:). Dann wünsch ich euch viel spaß mit der neuen Version.
Bild
Antworten