L'obiettivo di questo codice golf è quello di creare un interprete per il linguaggio di programmazione HQ9 +
Ci sono 4 comandi in questo linguaggio di programmazione:
- H - stampa "Ciao, mondo!"
- Q - stampa il codice sorgente del programma
- 9 - stampa il testo della canzone "99 bottiglie di birra"
- + - aumenta l'accumulatore
Le regole:
- Poiché l'accumulatore non è definito, è possibile ignorare il comando +
- Il programma dovrebbe richiedere l'input (questo input sarà il codice sorgente) o il codice sorgente verrà letto da un file
- Non è consentito inserire il testo di "99 bottiglie di birra" in un file e leggere il testo dal file
- Non è consentito utilizzare un algoritmo di compressione come GZip o BZip per comprimere il testo del brano: è necessario creare il proprio algoritmo di compressione. Questo non deve essere un algoritmo complesso, ma cerca di comprimere il testo il più possibile (ricorda: questo è un codice-golf, vince il codice con il minor numero di byte)
- Se il codice sorgente contiene un carattere che non è H , Q , 9 o + , quindi emettere "Il codice sorgente contiene caratteri non validi" prima di eseguire qualsiasi comando! Ciò significa che, se il codice sorgente è
H1
ad esempio, non emettereHello, world!
prima dell'outputSource code contains invalid characters
. No, emesso immediatamenteSource code contains invalid characters
- Se il tuo interprete accetta caratteri sia maiuscoli che minuscoli, otterrai -8 al conteggio dei caratteri
In bocca al lupo!