El desafío es encontrar una cadena de caracteres que no puedan aparecer en ningún programa legal en el lenguaje de programación de su elección. Eso incluye comentarios, cadenas u otras partes "no ejecutables".
Desafío
- Su programa puede ser específico para una versión particular o implementación del compilador / intérprete / entorno de tiempo de ejecución de su idioma. En caso afirmativo, especifique los detalles.
- Solo se permiten las opciones estándar de compilador / intérprete / tiempo de ejecución. No puede pasar un indicador extraño a su compilador para obtener un resultado específico (por ejemplo, pasar un indicador para convertir las advertencias en errores).
- Si su lenguaje de programación requiere una codificación específica (por ejemplo, UTF-8), su cadena también debe estar codificada correctamente (es decir, las cadenas que fallan únicamente debido a errores de decodificación de caracteres no están permitidas).
- Cada personaje individual en su presentación debe ser admisible en un programa legal; es decir, no puedes usar un personaje que siempre se rechaza.
- El compilador / intérprete / runtime debe dar un error cuando se le da cualquier código fuente que contenga su cadena como una subcadena. El error no tiene que ser el mismo en todos los programas: una incrustación de su cadena puede causar un error de sintaxis, mientras que otro puede causar un error de tiempo de ejecución.
Puntuación
- La cadena ilegal más corta para cada idioma gana.
- Debe explicar por qué su cadena es ilegal (por qué no puede aparecer en ningún lugar de un programa legal).
- Disputa soluciones incorrectas en los comentarios. Más específicamente, debe proporcionar un enlace a TIO o equivalente que demuestre un programa legal (es decir, uno que no produzca ningún error) que contenga la subcadena propuesta.
- Algunos lenguajes (por ejemplo, Bash, Batch, Perl) permiten agregar datos binarios arbitrarios a un programa sin afectar la validez (por ejemplo, usar
__DATA__
en Perl). Para dichos idiomas, puede enviar una solución que solo puede aparecer en dicha sección final. Asegúrese de anotar eso en su respuesta. (La definición de esta "sección final" depende del idioma, pero generalmente significa cualquier texto después de que el analizador haya dejado de leer el guión).
Ejemplo
En Python, podría enviar
x
"""
'''
pero esto puede integrarse en el programa más grande
"""
x
"""
'''
y
'''
entonces no es admisible.