La sfida è analizzare una stringa come fa Python e stampare il contenuto della stringa.
- Input (argomento della riga di comando o stdin) : una stringa letterale (ad esempio
"hello") (o più letterali, vedere la concatenazione letterale di stringa di seguito) - Output (stdout) : il contenuto della stringa (ad es.
hello)
Regole per l'analisi della stringa:
- Un letterale stringa è racchiuso tra coppie corrispondenti di virgolette singole (
'a'), virgolette doppie ("a"), triple virgolette singole ('''a''') o triple virgolette doppie ("""a"""). La prima ripetizione del tipo di virgolette che ha aperto la stringa termina la stringa. - Backslash fuoriesce:
\'all'interno di una stringa diventa',\"diventa"e\\diventa\. Non è necessario implementare altre fughe di barra rovesciata. Una barra rovesciata che non fa parte di una sequenza di escape rimane una barra rovesciata. - Concatenazione letterale di stringa: i contenuti dei letterali di stringa adiacenti vengono concatenati. Ad esempio,
"hello" 'world'diventahelloworld. - L'input può contenere spazi che non fanno parte di alcun valore letterale.
- Non è necessario supportare alcun altro tipo di spazio bianco, né all'interno né all'esterno dei letterali.
Regole aggiuntive:
eval,execE roba simile non è consentito per l'analisi letterale o parti di esso.- Si può presumere che l'input sia valido.
- È possibile assumere una lunghezza massima di input di 1023 caratteri.
Esempi:
"hello" ' world'->hello world"""\"""'\\\A"""->"""'\\A( '''"""'''"""'''""" )(senza parentesi, ma con spazi) ->"""'''
Il codice più corto vince.