99 to język programowania, który wymyśliłem na początku tego tygodnia dla mojego wyzwania. Napisz tłumacza na 99 . (Wymyślony, ale nigdy nie musiałem go wdrażać dzięki tuzinowi z was;)) Pełna specyfikacja języka jest w tym wyzwaniu, więc nie zawracam sobie głowy ponownym opublikowaniem tego wszystkiego.
W 99 możesz wydrukować pojedyncze znaki ASCII na standardowe wyjście, ale ze względu na ograniczenia językowe nie zawsze jest jasne, jak wydrukować konkretny znak tak zwięźle, jak to możliwe.
Dla każdego ze 128 znaków ASCII napisz program 99 , który nie przyjmuje danych wejściowych i wyprowadza ten jedyny znak. Możesz ręcznie zakodować jedną lub wszystkie z tych odpowiedzi lub napisać inny program (w dowolnym języku, który lubisz), aby wygenerować je dla Ciebie.
Suma znaków w każdym z twoich 128 99 programów to twój wynik. Najniższy wynik wygrywa. Nowe linie liczą się jako jeden znak.
Pamiętaj, że w 99 tylko zmienne wielkości parzyste, takie jak 9999
wyjściowe znaki ASCII (zmienne nieparzyste, wyjściowe liczby całkowite). Ich wartość jest dzielona przez 9, a następnie pobierana mod 128, więc wartości nie muszą znajdować się w pewnym zakresie, aby odwzorować na znaki ASCII. Na przykład wszystkie wartości wewnętrzne 297, 1449 i -855 odpowiadają znakowi, !
ponieważ po podzieleniu przez 9 i pobraniu mod 128, wszystkie stają się 33, co jest kodem znaku !
.
Jeśli potrzebujesz tłumacza na 99 , proponuję odpowiedź Mac w Pythonie .
Wiem, że powiedziałem, że moje następne wyzwanie będzie bardziej interaktywne, ale wciąż pracuję nad tym.