La sfida è trovare una serie di caratteri che non possono apparire in nessun programma legale nel tuo linguaggio di programmazione preferito. Ciò include commenti, stringhe o altre parti "non eseguibili".
Sfida
- Il tuo programma potrebbe essere specifico per una particolare versione o implementazione dell'ambiente del compilatore / interprete / runtime della tua lingua. In tal caso, si prega di specificare i dettagli.
- Sono consentite solo opzioni standard di compilatore / interprete / runtime. Non è possibile passare un flag strano al compilatore per ottenere un risultato specifico (ad esempio passare un flag per convertire gli avvisi in errori).
- Se il tuo linguaggio di programmazione richiede una codifica specifica (ad es. UTF-8), anche la tua stringa deve essere codificata correttamente (non sono consentite stringhe che falliscono solo a causa di errori di decodifica dei caratteri).
- Ogni singolo personaggio nella tua presentazione deve essere ammissibile in un programma legale; cioè, non puoi semplicemente usare un personaggio che viene sempre rifiutato.
- Il compilatore / interprete / runtime deve dare un errore quando viene dato qualsiasi codice sorgente che contiene la stringa come sottostringa. L'errore non deve essere lo stesso tra i programmi: un incorporamento della stringa potrebbe causare un errore di sintassi, mentre un altro potrebbe causare un errore di runtime.
punteggio
- Vince la stringa illegale più corta per ogni lingua.
- Dovresti spiegare perché la tua stringa è illegale (perché non può apparire da nessuna parte in un programma legale).
- Disputa soluzioni errate nei commenti. Più specificamente, è necessario fornire un collegamento a TIO o equivalente che dimostri un programma legale (ovvero uno che non produce alcun errore) che contenga la sottostringa proposta.
- Alcune lingue (ad es. Bash, Batch, Perl) consentono di aggiungere dati binari arbitrari a un programma senza influire sulla validità (ad es. Utilizzando
__DATA__
in Perl). Per tali lingue, è possibile inviare una soluzione che può apparire solo in tale sezione finale. Assicurati di prenderne nota nella tua risposta. (La definizione di questa "sezione finale" dipende dalla lingua, ma generalmente indica qualsiasi testo dopo che il parser ha smesso completamente di leggere lo script).
Esempio
In Python, potrei inviarlo
x
"""
'''
ma questo può essere incorporato nel programma più grande
"""
x
"""
'''
y
'''
quindi non è ammissibile.