Celem tego kodu golfowego jest stworzenie interpretera dla języka programowania HQ9 +
W tym języku programowania dostępne są 4 polecenia:
- H - drukuje „Witaj, świecie!”
- Q - drukuje kod źródłowy programu
- 9 - drukuje tekst piosenki „99 butelek piwa”
- + - zwiększa akumulator
Zasady:
- Ponieważ akumulator nie jest zdefiniowany, możesz zignorować polecenie +
- Twój program powinien poprosić o podanie danych wejściowych (będzie to kod źródłowy) lub kod źródłowy zostanie odczytany z pliku
- Nie wolno umieszczać tekstu „99 butelek piwa” w pliku ani czytać tekstu z pliku
- Nie możesz używać algorytmu kompresji, takiego jak GZip lub BZip do kompresji tekstu piosenki: musisz stworzyć swój własny algorytm kompresji. Nie musi to być skomplikowany algorytm, ale spróbuj skompresować tekst tak bardzo, jak to możliwe (pamiętaj: to jest golf-golf, kod z najmniejszą liczbą bajtów wygrywa)
- Jeśli kod źródłowy zawiera znak inny niż H , Q , 9 lub + , wówczas przed uruchomieniem jakichkolwiek poleceń wypisz „Kod źródłowy zawiera nieprawidłowe znaki” ! Oznacza to, że jeśli
H1
na przykład jest kod źródłowy , nie należy generować danych wyjściowychHello, world!
przed wypisaniemSource code contains invalid characters
. Nie, natychmiast wyjścieSource code contains invalid characters
- Jeśli twój tłumacz akceptuje zarówno wielkie, jak i małe litery, to dostajesz -8 do liczby znaków
Powodzenia!