BaPa - Compiler
Verfasst: 02.06.2005 20:44
Als erstes: Danilo, Rings & Co. schauts euch besser erst gar nicht an
Für die anderen:
BaPa... hm.. mir fiel nichts besseres ein... Die Programmiersprache ist ein
wenig ein Mix zwischen Basic und Pascal (nicht überall das Beste rausge-
sucht, der Einfachheit halber..)
Mal schnell den Link: http://mypage.bluewin.ch/remimeier/zip/bapacompiler.zip
Also, das Ding ist ein Compiler! Es fehlen noch so gut wie alle Fehlerabfang-
Routinen, da ich dazu einfach zu faul war... Das Programm wird bei einem
Fehler einfach nicht erzeugt (es gibt so gut wie keine Fehlermeldungen)
und es ist möglich, dass sich der Compiler aufhängt (hatte ich bis jetzt noch
nie).
Es wird sicher noch voller Bugs sein, da ich einfach zu faul bin zum Testen.
Ich veröffentliche es jetzt schon deshalb, weil ich diesen Compiler weg-
schmeissen und alles nochmal von vorne machen werde. Es war einfach
mal ein Testlauf für meine Maturarbeit (Gymnasiumsabschlussarbeit in CH).
Nun zu der Funktionsweise:
Ich werde jetzt nicht die Details erklären, denn obwohl nur etwa 2500 Zeilen
Code, ist das ziemlich komplex zum erklären.
Ich hab alles mal so eingestellt, dass die Datei test.txt beim Doppelklick
auf BaPa.exe kompiliert wird.
2 Testprogramme sind dabei.
Es werden folgende Funktionen unterstützt, obwohl man es sowieso erweitern
kann:
MessageRequester(Titel:STRING, Text:STRING)
Str(Zahl:INT)
Operatoren gibt es die Folgenden:
+, -, *, /
=
==, <>, <=, <, >, >=, &&, ||
&, |, !
Rechnungen sollten richtig nach den P.-vor-S.-Regeln funktionieren (inkl.
Klammern).
Das Programm wird sofort nach dem Kompilieren ausgeführt und die Exe
in den Unterordner 'Release' kopiert (als test.exe). Den Rest in diesem
Ordner kann man getrost vergessen!
Ein kleines Testprogramm (für die dies nicht downloaden wollen):
Ich wollte das Projekt nicht einfach so in den Abfalleimer schmeissen, ich
hoffe ich schade keinem damit
Wenn viel Interesse besteht, kann ich noch weitere Informationen raus-
rücken
greetz
Remi
PS: Code ist, wie bei all meinen Projekten, natürlich dabei
Für die anderen:
BaPa... hm.. mir fiel nichts besseres ein... Die Programmiersprache ist ein
wenig ein Mix zwischen Basic und Pascal (nicht überall das Beste rausge-
sucht, der Einfachheit halber..)
Mal schnell den Link: http://mypage.bluewin.ch/remimeier/zip/bapacompiler.zip
Also, das Ding ist ein Compiler! Es fehlen noch so gut wie alle Fehlerabfang-
Routinen, da ich dazu einfach zu faul war... Das Programm wird bei einem
Fehler einfach nicht erzeugt (es gibt so gut wie keine Fehlermeldungen)
und es ist möglich, dass sich der Compiler aufhängt (hatte ich bis jetzt noch
nie).
Es wird sicher noch voller Bugs sein, da ich einfach zu faul bin zum Testen.
Ich veröffentliche es jetzt schon deshalb, weil ich diesen Compiler weg-
schmeissen und alles nochmal von vorne machen werde. Es war einfach
mal ein Testlauf für meine Maturarbeit (Gymnasiumsabschlussarbeit in CH).
Nun zu der Funktionsweise:
Ich werde jetzt nicht die Details erklären, denn obwohl nur etwa 2500 Zeilen
Code, ist das ziemlich komplex zum erklären.
Ich hab alles mal so eingestellt, dass die Datei test.txt beim Doppelklick
auf BaPa.exe kompiliert wird.
2 Testprogramme sind dabei.
Es werden folgende Funktionen unterstützt, obwohl man es sowieso erweitern
kann:
MessageRequester(Titel:STRING, Text:STRING)
Str(Zahl:INT)
Operatoren gibt es die Folgenden:
+, -, *, /
=
==, <>, <=, <, >, >=, &&, ||
&, |, !
Rechnungen sollten richtig nach den P.-vor-S.-Regeln funktionieren (inkl.
Klammern).
Das Programm wird sofort nach dem Kompilieren ausgeführt und die Exe
in den Unterordner 'Release' kopiert (als test.exe). Den Rest in diesem
Ordner kann man getrost vergessen!
Ein kleines Testprogramm (für die dies nicht downloaden wollen):
Code: Alles auswählen
PROGRAM "Test"
VAR
id:INT
in:INT
ENDVAR
FUNCTIONS
MessageRequester : STRING,STRING : INT : MessageRequester.obj
ENDFUNCTIONS
CODE
id = 0
in = 20
MessageRequester("hallo", "Starte Schleife")
REPEAT
id = id + in
MessageRequester("Thisisit", Str(id))
IF id >= 193 && id == 200
BREAKLOOP
ELSE
; nüüüt
ENDIF
FOREVER
MessageRequester("nocheiner", "da isser")
ENDCODE
ENDPROGRAMIch wollte das Projekt nicht einfach so in den Abfalleimer schmeissen, ich
hoffe ich schade keinem damit
Wenn viel Interesse besteht, kann ich noch weitere Informationen raus-
rücken
greetz
Remi
PS: Code ist, wie bei all meinen Projekten, natürlich dabei