Verwandt mit: Erstellen Sie einen; # -Interpreter und generieren Sie; # -Code
;# - Ein Wirbelwindführer
Dies ist eine einfache Sprache mit zwei Befehlen. Die einzige Datenstruktur ist ein Akkumulator, der mit 0 initialisiert wird.
;Erhöhen Sie den Akku#Berechnen Sie den Wert des Akkumulators modulo 127 und geben Sie das entsprechende ASCII-Zeichen aus. Setzen Sie dann den Akku auf 0 zurück.
Der Quellcode kann zusätzliche Zeichen enthalten (druckbares ASCII + Leerzeichen), diese werden jedoch als Kommentare behandelt und haben keine Auswirkungen auf die Programmausführung.
Herausforderung
Da die meisten Computer nicht ;#vorinstalliert sind, wäre es sehr nützlich, ein Tool zu haben, das ;#Code in eine andere Sprache konvertieren kann. In dieser Herausforderung schreiben Sie ein Programm, um dies zu erreichen.
Eingang
Einige ;#Quellcodes, die über Argument oder STDIN aufgenommen wurden. Dieser Quellcode kann andere (Kommentar-) Zeichen als ;oder enthalten #.
Ausgabe
Code in derselben Sprache wie Ihre Einreichung, der bei Ausführung dieselbe Zeichenfolge wie der ursprüngliche ;#Code ausgibt / zurückgibt . Dieser resultierende Code gibt möglicherweise nach der Zielzeichenfolge eine abschließende neue Zeile aus, wenn dies für Ihre Sprache praktischer ist.
Anmerkungen
Achten Sie auf Escape-Sequenzen, z. B. auf Code, der Backslashes oder Anführungszeichen druckt. Achten Sie auch auf ;#Code, der Dinge enthalten kann, die wie Schlüsselwörter oder Befehle in Ihrer Sprache aussehen.
Zusätzliche Einschränkungen
Alle Programme müssen beendet werden (ich betrachte dies normalerweise als Standard, aber jemand hat danach gefragt, also gebe ich es hier an).
Beispiele
input: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
output (python): print(";#")
input: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
output (element): \'`
;oder #?
;#vorinstallierten ...