Bu golf kodunun amacı, programlama dili için bir tercüman oluşturmaktır HQ9 +
Bu programlama dilinde 4 komut vardır:
- H - "Merhaba dünya!"
- Q - programın kaynak kodunu yazdırır
- 9 - "99 şişe bira" şarkısının sözlerini basıyor
- + - akümülatörü artırır
Kurallar:
- Akümülatör tanımlanmadığından, + komutunu yok sayabilirsiniz.
- Programınız girdi ister (bu girdi kaynak kod olacaktır) veya kaynak kod bir dosyadan okunur.
- "99 şişe bira" nın sözlerini bir dosyaya koymanız ve dosyadaki metni okumanız yasaktır.
- Şarkı metnini sıkıştırmak için GZip veya BZip gibi bir sıkıştırma algoritması kullanmanıza izin verilmez: kendi sıkıştırma algoritmanızı oluşturmanız gerekir. Bu karmaşık bir algoritma olmak zorunda değildir, ancak metni mümkün olduğunca sıkıştırmaya çalışın (unutmayın: bu bir kod golfüdür, en az baytlık kod olan koddur)
- Kaynak kodu H , Q , 9 veya + olmayan bir karakter içeriyorsa , herhangi bir komutu çalıştırmadan önce "Kaynak kodu geçersiz karakterler içeriyor" ifadesini verin! Bu, eğer kaynak kodu
H1mesela,Hello, world!çıkmadan önce çıktı almadığı anlamına gelirSource code contains invalid characters. Hayır, hemen çıktıSource code contains invalid characters - Tercümanınız hem büyük hem küçük harfli karakterleri kabul ederse , karakter sayınıza -8 eklersiniz .
İyi şanslar!