Ich lerne gerade programmieren und eines meiner ersten richtigen Programme ist ein Kompilierer.
Ich bin beim Lernen immer wieder auf den Begriff gestoßen. Nachdem ich mich genauer informiert habe, habe ich herausgefunden, dass ein Kompilierer Code aus Programmiersprachen in Computersprache (Binärcode) umwandelt.
Meiner Funktioniert also so:
Ich habe eine Tabelle, in der ich die Zuordnung von Java-Code zu Binärcode gespeichert habe.
Ich weiß nicht wie man Datein einliest, deshalb lasse ich den Programmierer seinen Code über
JOptionPane.showInputDialog eingeben. Nachdem er einen Befehl eingegeben hat, wird in der Tabelle der entsprechende Binärcode nachgeschaut und mit System.out.println ausgegeben. Den kann der Programmierer sich dann kopieren und ausführen.
Meine Tabelle ist noch nicht groß, bis jetzt kann man nur int Variablen mit dem Namen i von 0 bis 20 anlegen (int i = 12; zum Beispiel) und dann habe ich noch System.out.println("Test") mit dem entsprechenden Binärcode gespeichert.
Wenn ich dann aber die Nullen und einsen in eine Datei packe und versuche sie auszuführen, öffnet sich nur mein notepad, aber es wird nicht "Test" ausgegeben, wie man es eigentlich erwarten würde.
Woran könnte das liegen? Ist mein Binärcode vielleicht falsch?
Ich benutze diese Seite hier, um Text nach Binärcode umzuwandeln: http://www.unit-conversion.info/texttools/convert-text-to-binary/
Laut dieser Seite wird System.out.println("Test") übersetzt in 01010011 01111001 01110011 01110100 01100101 01101101 00101110 01101111 01110101 01110100 00101110 01110000 01110010 01101001 01101110 01110100 01101100 01101110 00101000 00100010 01010100 01100101 01110011 01110100 00100010 00101001
Andere Seiten zeigen den Gleichen Code an. Aber trotzdem passiert beim Ausführen nichts, außer dass Notepad mit den Einsen und Nullen drin geöffnet wird.
Hat jemand schon mal einen Kompilierer programmiert und kann mir Tipps geben, wie ich am Besten vorgehen soll?
Ich bin beim Lernen immer wieder auf den Begriff gestoßen. Nachdem ich mich genauer informiert habe, habe ich herausgefunden, dass ein Kompilierer Code aus Programmiersprachen in Computersprache (Binärcode) umwandelt.
Meiner Funktioniert also so:
Ich habe eine Tabelle, in der ich die Zuordnung von Java-Code zu Binärcode gespeichert habe.
Ich weiß nicht wie man Datein einliest, deshalb lasse ich den Programmierer seinen Code über
JOptionPane.showInputDialog eingeben. Nachdem er einen Befehl eingegeben hat, wird in der Tabelle der entsprechende Binärcode nachgeschaut und mit System.out.println ausgegeben. Den kann der Programmierer sich dann kopieren und ausführen.
Meine Tabelle ist noch nicht groß, bis jetzt kann man nur int Variablen mit dem Namen i von 0 bis 20 anlegen (int i = 12; zum Beispiel) und dann habe ich noch System.out.println("Test") mit dem entsprechenden Binärcode gespeichert.
Wenn ich dann aber die Nullen und einsen in eine Datei packe und versuche sie auszuführen, öffnet sich nur mein notepad, aber es wird nicht "Test" ausgegeben, wie man es eigentlich erwarten würde.
Woran könnte das liegen? Ist mein Binärcode vielleicht falsch?
Ich benutze diese Seite hier, um Text nach Binärcode umzuwandeln: http://www.unit-conversion.info/texttools/convert-text-to-binary/
Laut dieser Seite wird System.out.println("Test") übersetzt in 01010011 01111001 01110011 01110100 01100101 01101101 00101110 01101111 01110101 01110100 00101110 01110000 01110010 01101001 01101110 01110100 01101100 01101110 00101000 00100010 01010100 01100101 01110011 01110100 00100010 00101001
Andere Seiten zeigen den Gleichen Code an. Aber trotzdem passiert beim Ausführen nichts, außer dass Notepad mit den Einsen und Nullen drin geöffnet wird.
Hat jemand schon mal einen Kompilierer programmiert und kann mir Tipps geben, wie ich am Besten vorgehen soll?