99 ist eine Programmiersprache, die ich Anfang dieser Woche für meine Herausforderung erfunden habe. Schreiben Sie einen Dolmetscher für 99 . (Erfunden, aber dank eines halben Dutzend von Ihnen nie implementiert werden .;)) Die vollständige Sprachspezifikation befindet sich in dieser Herausforderung, sodass ich mich nicht die Mühe mache, alles hier erneut zu veröffentlichen.
In 99 können Sie einzelne ASCII- Zeichen nach Standard drucken. Aufgrund der Einschränkungen der Sprache ist jedoch nicht immer klar, wie ein bestimmtes Zeichen so präzise wie möglich gedruckt werden soll.
Schreiben Sie für jedes der 128 ASCII-Zeichen ein 99- Programm, das keine Eingabe benötigt und dieses einzige Zeichen ausgibt. Sie können einige oder alle dieser Antworten von Hand codieren oder ein anderes Programm (in einer beliebigen Sprache) schreiben, um sie für Sie zu generieren.
Die Summe der Zeichen in jedem Ihrer 128 99 Programme ist Ihre Punktzahl. Die niedrigste Punktzahl gewinnt. Zeilenumbrüche zählen als ein Zeichen.
Denken Sie daran, dass in 99 nur Variablen mit gerader Größe wie 9999
Ausgabe-ASCII-Zeichen (Variablen mit ungerader Größe Ganzzahlen ausgeben). Ihr Wert wird durch 9 geteilt und dann als Mod 128 verwendet, sodass die Werte nicht in einem bestimmten Bereich liegen müssen, um ASCII-Zeichen zugeordnet zu werden. Zum Beispiel entsprechen die internen Werte 297, 1449 und -855 alle dem Zeichen, !
denn wenn sie durch 9 geteilt und mod 128 genommen werden, werden sie alle zu 33, was der Zeichencode für ist !
.
Wenn Sie einen Interpreter für 99 benötigen , würde ich Macs Python-Antwort vorschlagen .
Ich weiß, ich sagte, meine nächste Herausforderung wäre interaktiver, aber ich arbeite immer noch an dem Zeug für diese.