Compilerbau - Wie kann ich eine If Abfrage simulieren?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Jean

Betreff: Compilerbau - Wie kann ich eine If Abfrage simulieren?

BeitragMo, Jun 05, 2006 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Zusammen

Ich arbeite gerade (nur so aus Spass) an einem eigenen Compiler in BB. Befehle wie Print und DrawImage stellen keine Probleme dar. Auch das benutzen von eigenen Variabeln ist jetzt möglich. Nur etwas will einfach nicht funktionieren: Wie simuliere ich eine If Abfrage? Weiss das jemand?

Vielen Dank

Schnittlauch

Unkraut

BeitragMo, Jun 05, 2006 11:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Willst du einen Echten Compiller programmieren oder nur eine eigene scriptsprache?
Ich wars nicht.

PowerProgrammer

BeitragMo, Jun 05, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich vermute, du entwickelst keinen richtigen. Sonst müsstest du die ganzen Jmp-Befehle aus Assembler nutzen.

Dein Programm muss die If-Anweisungen ganz genau auseinander nehmen und dir dann Stück für Stück auswerten lassen!
So kannst du übrigens schlecht Exe-Dateien erstellen! Du musst dazu Assembler-Profi sein. Mit deiner Methode ist nur ein Interpreter für Skriptsprachen realistisch!

Hummelpups

BeitragMo, Jun 05, 2006 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum ASM Profi? er kann den Source auch einfach in C umsetzen und
dann G++ / GCC zum kompilieren benutzen.
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

SoNenTyp

BeitragMo, Jun 05, 2006 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil das dann trotzdem nur ein Interpreter währe.
Gruss Der Typ.

User posted image

PowerProgrammer

BeitragDi, Jun 06, 2006 8:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Über C ist das ein Umweg. Wenn er es nicht direkt in Maschinensprache übersetzt, ist das eher ein Codewandler, der aus seinem Zeug C-Code macht! Er will ja einen richtigen Compiler (oder Interpreter?) proggen! Dazu muss er nun einmal Assembler und Maschinencode kennen!
 

Sebe

BeitragDi, Jun 06, 2006 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Compiler ist lediglich ein Übersetzer. Dabei ist es völlig egal, in welche Sprache übersetzt wird. Wenn er den Code in Python übersetzt und den Python Code dann in eine exe compiliert, benutzt er natürlich 2 Compiler (und einen Linker). Trotzdem bleibt sein Code1 -> Code2 Programm ein Compiler.

Vertex

BeitragDi, Jun 06, 2006 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Du gehst anscheinend den falschen Weg, wenn du schon so eine Frage stellst...
http://de.wikipedia.org/wiki/Compiler
http://de.wikipedia.org/wiki/EBNF damit du mal einen Ansatz hast, wie formale Sprachen zu designen sind.
Für Pascal findest du massig EBNFs.
Im Grunde müsstest du Endliche Automaten in Blitz erstellen und dein Design von EBNF in eine geeignete Form für diesen bringen. Solltest du davon keine Ahnung haben, dann lass lieber die Finger davon weg.
mfg olli
 

CodeMaster

BeitragMi, Jun 07, 2006 1:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Und ich sag mal ganz pragmatisch, dass man sich den Compilerbau kaum selbst beibringen kann. (Zumal, wenn man Begriffe wie Grammatiken und Automatentheorie, Scannen, Parsen und Codieren nicht einzuordnen weiß...)
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.

Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group