Fai un lento creatore di errori!


38

Come parte della sua risposta a Make a Error Quine! , @Falko ha proposto il seguente algoritmo:

Come creare la tua soluzione in 2 minuti?

  1. Apri un nuovo file in un IDE a tua scelta.
  2. Batti la testa sulla tastiera di fronte a te.
  3. Compilare.
  4. Sostituire il codice con il messaggio di errore del compilatore.
  5. Ripetere i passaggi 3 e 4 fino a quando il codice non converge.

Scommetto che una tale procedura si interrompe abbastanza rapidamente nella maggior parte dei casi!

Compito

Il tuo compito è dimostrare che si sbaglia.

Scrivi un programma completo che soddisfi quanto segue:

  1. Quando compilato o interpretato, produce un messaggio di errore che, quando compilato o interpretato a sua volta, genera anche un messaggio di errore.

  2. Ripetendo ripetutamente il passaggio 1 alla fine si incontrerà un punto fisso, cioè un errore di quine.

Regole aggiuntive

  • Il messaggio di errore finale deve avere una lunghezza positiva. Tuttavia, i precedenti messaggi di errore e il codice sorgente originale potrebbero essere vuoti.

  • La lunghezza del codice sorgente originale non può superare i 1024 byte.

  • Né il codice originale né il codice generato in nessuno dei passaggi possono produrre output senza errori.

    L'output deve essere chiaramente identificabile come messaggio di errore, che deve essere generato dal compilatore / interprete a causa di un errore di sintassi, errore di runtime, riferimento indefinito, ecc.

  • Il tuo programma potrebbe non ricevere alcun input o richiedere flag per produrre il loop.

  • Il tuo programma può fare affidamento su un'implementazione specifica del suo linguaggio o della sua versione.

punteggio

Il tuo punteggio è finito numero di passaggi richiesti dal tuo codice sorgente prima di produrre un errore di quine. Vince l'invio con il punteggio più alto.

La lunghezza del codice sorgente originale verrà utilizzata come tie breaker. Più corto è meglio.

Esempio

In Chicken , il programma



genera il seguente messaggio di errore:

TypeError: Cannot read property 'NaN' of undefined

Se questo messaggio di errore viene, a sua volta, interpretato, produce il messaggio di errore

Error on line 1: expected 'chicken'

che, se interpretato a sua volta, produce se stesso.

Pertanto, il punteggio del programma Chicken vuoto è 2.

controesempio

Il codice PHP

ab<?=c

genera il messaggio di errore

PHP Parse error:  syntax error, unexpected '?' in Command line code on line 1

che produce se stesso quando interpretato.

Tuttavia, il secondo codice sorgente stampa il messaggio su STDOUT, rendendo questa sequenza non valida.


11
Questa procedura non produce mai un errore quine in Pyth. Si conclude in un ciclo ripetuto, ogni terzo errore di output è Segmentation fault (core dumped).
isaacg,

4
@isaacg: In realtà è abbastanza carino che sia ciclico.
Alex A.

5
Credo che questa sia la 3000esima domanda, senza contare quelle chiuse o chiuse. Congratulazioni! :)
Martin Ender,

Peccato che C # non possa farlo, perché il compilatore genera una linea di errori sempre più lunga.
LegionMammal978,

1
@IsmaelMiguel: ho aggiunto le ultime due iterazioni, per farla breve.
Dennis,

Risposte:


36

Bash, 9223372036854775810

Ispirato dalla risposta di Doorknob.

a='"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #"'
i=2**63
eval $a

Dovrebbe essere eseguito con bash < file.sh, o utilizzare lo stesso nome di file per ciascun programma, per eliminare i diversi nomi di file nei messaggi di errore.

I primi errori sono (con LANG=C):

bash: line 3: 2>/dev/null;if(((i=9223372036854775807)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory
bash: line 1: 2>/dev/null;if(((i=9223372036854775806)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory
bash: line 1: 2>/dev/null;if(((i=9223372036854775805)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory

E infine:

bash: line 1: 2>/dev/null;if(((i=0)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory
bash: line 1: 1: command not found
bash: line 1: bash:: command not found

che è un errore quine.


7
Questo è probabilmente alto quanto arriveremo su macchine a 64 bit. Ben fatto.
Dennis,

@Dennis Può essere molto più alto se uso bco scrivo il mio codice per il decremento.
jimmy23013,

3
@Dennis Modificato per adattare gli errori alle dimensioni massime dei file delle macchine a 64 bit.
jimmy23013,

2
Questo è un punteggio particolarmente ridicolmente alto rispetto alle altre risposte. Per essere onesti, Falko ha detto "la maggior parte dei casi" (anche se questo fornisce almeno 9223372036854775000 con punteggio superiore a 800.)
PyRulez,

Forse aggiungi anche gli ultimi (appena prima che diventi un quine)?
Paŭlo Ebermann,

15

Pip 0.15.05.29 , oltre 10 100.000

Tecnicamente non valido perché richiede il -wflag per l'output di avviso. Detto questo, Pip di progettazione non mostra alcun errore di runtime a meno che non si blocchi effettivamente il programma (ricorsione infinita, ad es.); i problemi con questo codice sono cose di cui si lamenterebbero sicuramente altre lingue.

i:5**6**7d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

Il numero esatto di passaggi dipende solo dal valore assegnato a i , quindi potrebbe essere arbitrariamente grande (fino a quando l'interprete Python esaurisce la memoria). Inoltre, occorrerebbe più tempo dell'età dell'universo per completare la sequenza sopra. (La domanda ha specificato "lento"!)

Spiegazione:

Ci è voluto un po 'di controllo nell'interprete prima che trovassi un errore che mi avrebbe permesso di inserire un codice arbitrario nel messaggio di avviso. Successivamente, stava essenzialmente modificando le tecniche quine standard. L'esempio qui usa un ivalore di5 a scopo di spiegazione.

i:5d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

Dopo aver impostato i, archiviare una stringa de quindi tentare di eseguire l' Sistruzione wap. Swap prevede due variabili (più precisamente, i valori). sva bene, ma la seconda espressione è i?dRo--iRsRPda. Se iè vero (diverso da zero, per i nostri scopi), il ternario valuta dRo--iRsRPd, che utilizza dda prima per formare un quasi-quine - solo con idecrementato. Questa espressione non è un valore, quindi Pip si lamenta:

Attempting to swap non-lvalue i:4d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

... che ricomincia da capo. ( Attempting to swap non-lvalueè un mucchio di no-ops:At calcola il valore ASCII di t = 10, n-lsottrae newline meno ogni valore di un elenco vuoto e tutte le lettere minuscole sono solo variabili.)

Il processo continua in modo simile fino a:

Attempting to swap non-lvalue i:0d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

Quando viene eseguito, iora è falso. L'espressione ternaria asi riferisce al ramo else, che è un valore lvalore. Pertanto, lo swap non si lamenta più. Invece, otteniamo:

Referencing uninitialized variable a

E dopo aver eseguito questo, finalmente, abbiamo un vero errore di sintassi:

R is not a unary operator
Fatal error while parsing, execution aborted.

... a quel punto, da quando inizia il "programma" R, Pip continuerà a lamentarsi che Rnon è un operatore unario per sempre.


La migliore soluzione che non utilizza -wè di lunghezza 3:

$~

While scanning, ignored unrecognized character: '~'
Missing operator for $ meta-operator? Got None instead
Fatal error while parsing, execution aborted.

Missing operator for $ meta-operator? Got m instead
Fatal error while parsing, execution aborted.

M is not a unary operator
Fatal error while parsing, execution aborted.

Pip -wconta come un linguaggio di programmazione secondo il meta consenso
MilkyWay90

@ MilkyWay90 Un buon punto, anche se penso che la formulazione di questa domanda abbia la precedenza su quella predefinita ("Il tuo programma potrebbe non richiedere alcun flag per produrre il ciclo"). In un modo o nell'altro non importa molto, la mia soluzione è stata ben accolta in ogni caso. :)
DLosc

Bene, ora vedo
MilkyWay90,

13

Julia, 3

Un semplice solo per far rotolare la palla ...

Programma iniziale:

inquisition

Errore 1:

inquisition not defined

Potrebbe non essere definito, ma se è spagnolo , è anche inaspettato. Nessuno si aspetta l'Inquisizione spagnola.

Errore 2:

syntax: extra token "not" after end of expression

Errore 3:

syntax: extra token "token" after end of expression

Il terzo messaggio di errore, quando inviato come programma, produce lo stesso errore, quindi il punteggio di 3.

Lavori in corso! Sicuramente posso fare meglio di 3.


2
Non correlato, ma vale la pena guardare (sottotitoli in spagnolo): youtube.com/watch?v=8mzfyVluiIU o (sottotitoli in inglese e migliore qualità): youtube.com/watch?v=mog7Gsu613E
Ismael Miguel

2
@IsmaelMiguel Che sicuramente è in relazione. :)
Alex A.

8

R, 5

Programma iniziale:

1i*"5"

Errore 1:

Error in (0+1i) * "5" : non-numeric argument to binary operator

Errore 2:

Error: unexpected 'in' in "Error in"

Errore 3:

Error: unexpected string constant in "Error 'in'"

Errore 4:

Error: unexpected symbol in "Error: unexpected string"

Errore 5 (Quine):

Error: unexpected symbol in "Error: unexpected symbol"

6

Bash, 3

cp

Script shell molto rudimentale per testarlo:

llama@llama:~$ s=$(bash -c 'cp' 2>&1); olds=asdf; while [ "$s" != "$olds" ]; do echo $s; echo '-----'; olds=$s; s=$(bash -c $s 2>&1); done 
cp: missing file operand
Try 'cp --help' for more information.
-----
bash: cp:: command not found
bash: line 1: Try: command not found
-----
bash: bash:: command not found
bash: line 1: bash:: command not found
-----

Lo script di test non ignora stdout. Se c'è stdoute stderrnon funzionerà correttamente.
wizzwizz4,

@ wizzwizz4 La sfida impedisce l'output senza errori.
Dennis,

@Dennis Un buon punto. Ma ... l'utente non è sempre bravo come il programmatore. (Anche se l'utente è un programmatore, potrebbe non essere esperto).
wizzwizz4,

5

Ruby, 5

Programma iniziale

q

1

undefined local variable or method `q' for #<Context:0x00000001045d70>
(repl):1:in `initialize'

2

(repl):2: syntax error, unexpected tIDENTIFIER, expecting end-of-input
(repl):1:in `initialize'
                       ^

3

(repl):1: syntax error, unexpected ':', expecting end-of-input
(repl):2: syntax error, unexpected t...
       ^

4

(repl):1: syntax error, unexpected ':', expecting end-of-input
(repl):1: syntax error, unexpected ':', expecting end-of-input
       ^

5 (Quine)

(repl):1: syntax error, unexpected ':', expecting end-of-input
(repl):1: syntax error, unexpected ':', expecting end-of-input
       ^

4

Java, 5

Sono molto lunghi ... quindi ho verificato l'uguaglianza delle stringhe usando uno script Python e ho generato questo post formattato, quindi non avrei dovuto inserire manualmente le schede su 400 righe.

Programma iniziale

class Main {
  public static void main(String[] args) {
    System.out.println("hello world");
  }}
}

1

Main.java:5: error: class, interface, or enum expected
}
^
1 error

exit status 1

2

Main.java:1: error: class, interface, or enum expected
Main.java:5: error: class, interface, or enum expected
^
Main.java:1: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:1: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:1: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:3: error: illegal start of type
^
^
Main.java:3: error: ';' expected
^
 ^
Main.java:6: error: ';' expected
exit status 1
    ^
Main.java:6: error: <identifier> expected
exit status 1
           ^
Main.java:6: error: reached end of file while parsing
exit status 1
             ^
10 errors

exit status 1

3

Main.java:1: error: class, interface, or enum expected
Main.java:1: error: class, interface, or enum expected
^
Main.java:1: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:1: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:1: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:2: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
         ^
Main.java:2: error: ';' expected
Main.java:5: error: class, interface, or enum expected
          ^
Main.java:2: error: illegal start of type
Main.java:5: error: class, interface, or enum expected
           ^
Main.java:2: error: = expected
Main.java:5: error: class, interface, or enum expected
                  ^
Main.java:2: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:2: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:2: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:2: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:3: error: illegal start of type
^
^
Main.java:4: error: = expected
Main.java:1: error: <identifier> expected
    ^
Main.java:4: error: <identifier> expected
Main.java:1: error: <identifier> expected
         ^
Main.java:4: error: ';' expected
Main.java:1: error: <identifier> expected
          ^
Main.java:4: error: illegal start of type
Main.java:1: error: <identifier> expected
           ^
Main.java:4: error: = expected
Main.java:1: error: <identifier> expected
                  ^
Main.java:5: error: '(' expected
Main.java:5: error: class, interface, or enum expected
    ^
Main.java:5: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
         ^
Main.java:5: error: ';' expected
Main.java:5: error: class, interface, or enum expected
          ^
Main.java:5: error: illegal start of type
Main.java:5: error: class, interface, or enum expected
           ^
Main.java:5: error: = expected
Main.java:5: error: class, interface, or enum expected
                  ^
Main.java:5: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:5: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:5: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:5: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:6: error: illegal start of type
                         ^
                         ^
Main.java:7: error: = expected
Main.java:1: error: <identifier> expected
    ^
Main.java:7: error: <identifier> expected
Main.java:1: error: <identifier> expected
         ^
Main.java:7: error: ';' expected
Main.java:1: error: <identifier> expected
          ^
Main.java:7: error: illegal start of type
Main.java:1: error: <identifier> expected
           ^
Main.java:7: error: = expected
Main.java:1: error: <identifier> expected
                  ^
Main.java:8: error: '(' expected
Main.java:5: error: class, interface, or enum expected
    ^
Main.java:8: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
         ^
Main.java:8: error: ';' expected
Main.java:5: error: class, interface, or enum expected
          ^
Main.java:8: error: illegal start of type
Main.java:5: error: class, interface, or enum expected
           ^
Main.java:8: error: = expected
Main.java:5: error: class, interface, or enum expected
                  ^
Main.java:8: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:8: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:8: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:8: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:9: error: illegal start of type
                                    ^
                                    ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
    ^
Main.java:10: error: <identifier> expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
         ^
Main.java:10: error: ';' expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
          ^
Main.java:10: error: illegal start of type
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
           ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                  ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                          ^
Main.java:10: error: illegal start of type
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                  ^
Main.java:10: error: <identifier> expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                   ^
Main.java:10: error: unclosed character literal
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                     ^
Main.java:10: error: ';' expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                       ^
Main.java:10: error: unclosed character literal
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                          ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                        ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                              ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                                         ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                                                    ^
Main.java:11: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
         ^
Main.java:11: error: ';' expected
Main.java:5: error: class, interface, or enum expected
          ^
Main.java:11: error: illegal start of type
Main.java:5: error: class, interface, or enum expected
           ^
Main.java:11: error: = expected
Main.java:5: error: class, interface, or enum expected
                  ^
Main.java:11: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:11: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:11: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:11: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:12: error: illegal start of type
                                         ^
                                         ^
Main.java:12: error: <identifier> expected
                                         ^
                                          ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
   ^
Main.java:13: error: ';' expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
      ^
Main.java:13: error: <identifier> expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
              ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
               ^
Main.java:13: error: ';' expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
                  ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
                               ^
Main.java:13: error: unclosed character literal
  (use -source 1.4 or lower to use 'enum' as an identifier)
                                   ^
Main.java:13: error: unclosed character literal
  (use -source 1.4 or lower to use 'enum' as an identifier)
                                        ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
                                                          ^
Main.java:14: error: <identifier> expected
Main.java:1: error: = expected
         ^
Main.java:14: error: ';' expected
Main.java:1: error: = expected
          ^
Main.java:14: error: illegal start of type
Main.java:1: error: = expected
           ^
Main.java:14: error: = expected
Main.java:1: error: = expected
                  ^
Main.java:14: error: illegal start of type
Main.java:1: error: = expected
                    ^
Main.java:15: error: = expected
Main.java:5: error: class, interface, or enum expected
^
Main.java:15: error: illegal start of type
Main.java:5: error: class, interface, or enum expected
    ^
Main.java:15: error: = expected
Main.java:5: error: class, interface, or enum expected
         ^
Main.java:15: error: illegal start of type
Main.java:5: error: class, interface, or enum expected
          ^
Main.java:15: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
           ^
Main.java:15: error: = expected
Main.java:5: error: class, interface, or enum expected
             ^
Main.java:15: error: ';' expected
Main.java:5: error: class, interface, or enum expected
                  ^
Main.java:15: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:15: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:15: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:15: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:16: error: illegal start of type
                                              ^
                                              ^
Main.java:17: error: = expected
Main.java:3: error: illegal start of type
    ^
Main.java:17: error: <identifier> expected
Main.java:3: error: illegal start of type
         ^
Main.java:17: error: ';' expected
Main.java:3: error: illegal start of type
          ^
Main.java:17: error: illegal start of type
Main.java:3: error: illegal start of type
           ^
Main.java:17: error: = expected
Main.java:3: error: illegal start of type
                  ^
100 errors

exit status 1

4

Main.java:1: error: class, interface, or enum expected
Main.java:1: error: class, interface, or enum expected
^
Main.java:1: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:1: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:1: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:2: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
         ^
Main.java:2: error: ';' expected
Main.java:1: error: class, interface, or enum expected
          ^
Main.java:2: error: illegal start of type
Main.java:1: error: class, interface, or enum expected
           ^
Main.java:2: error: = expected
Main.java:1: error: class, interface, or enum expected
                  ^
Main.java:2: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:2: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:2: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:2: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:3: error: illegal start of type
^
^
Main.java:4: error: = expected
Main.java:1: error: <identifier> expected
    ^
Main.java:4: error: <identifier> expected
Main.java:1: error: <identifier> expected
         ^
Main.java:4: error: ';' expected
Main.java:1: error: <identifier> expected
          ^
Main.java:4: error: illegal start of type
Main.java:1: error: <identifier> expected
           ^
Main.java:4: error: = expected
Main.java:1: error: <identifier> expected
                  ^
Main.java:5: error: '(' expected
Main.java:1: error: class, interface, or enum expected
    ^
Main.java:5: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
         ^
Main.java:5: error: ';' expected
Main.java:1: error: class, interface, or enum expected
          ^
Main.java:5: error: illegal start of type
Main.java:1: error: class, interface, or enum expected
           ^
Main.java:5: error: = expected
Main.java:1: error: class, interface, or enum expected
                  ^
Main.java:5: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:5: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:5: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:5: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:6: error: illegal start of type
                         ^
                         ^
Main.java:7: error: = expected
Main.java:1: error: <identifier> expected
    ^
Main.java:7: error: <identifier> expected
Main.java:1: error: <identifier> expected
         ^
Main.java:7: error: ';' expected
Main.java:1: error: <identifier> expected
          ^
Main.java:7: error: illegal start of type
Main.java:1: error: <identifier> expected
           ^
Main.java:7: error: = expected
Main.java:1: error: <identifier> expected
                  ^
Main.java:8: error: '(' expected
Main.java:1: error: class, interface, or enum expected
    ^
Main.java:8: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
         ^
Main.java:8: error: ';' expected
Main.java:1: error: class, interface, or enum expected
          ^
Main.java:8: error: illegal start of type
Main.java:1: error: class, interface, or enum expected
           ^
Main.java:8: error: = expected
Main.java:1: error: class, interface, or enum expected
                  ^
Main.java:8: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:8: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:8: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:8: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:9: error: illegal start of type
                                    ^
                                    ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
    ^
Main.java:10: error: <identifier> expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
         ^
Main.java:10: error: ';' expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
          ^
Main.java:10: error: illegal start of type
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
           ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                  ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                          ^
Main.java:10: error: illegal start of type
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                  ^
Main.java:10: error: <identifier> expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                   ^
Main.java:10: error: unclosed character literal
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                     ^
Main.java:10: error: ';' expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                       ^
Main.java:10: error: unclosed character literal
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                          ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                        ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                              ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                                         ^
Main.java:10: error: = expected
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
                                                                                    ^
Main.java:11: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
         ^
Main.java:11: error: ';' expected
Main.java:1: error: class, interface, or enum expected
          ^
Main.java:11: error: illegal start of type
Main.java:1: error: class, interface, or enum expected
           ^
Main.java:11: error: = expected
Main.java:1: error: class, interface, or enum expected
                  ^
Main.java:11: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:11: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:11: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:11: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:12: error: illegal start of type
                                         ^
                                         ^
Main.java:12: error: <identifier> expected
                                         ^
                                          ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
   ^
Main.java:13: error: ';' expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
      ^
Main.java:13: error: <identifier> expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
              ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
               ^
Main.java:13: error: ';' expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
                  ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
                               ^
Main.java:13: error: unclosed character literal
  (use -source 1.4 or lower to use 'enum' as an identifier)
                                   ^
Main.java:13: error: unclosed character literal
  (use -source 1.4 or lower to use 'enum' as an identifier)
                                        ^
Main.java:13: error: = expected
  (use -source 1.4 or lower to use 'enum' as an identifier)
                                                          ^
Main.java:14: error: <identifier> expected
Main.java:1: error: = expected
         ^
Main.java:14: error: ';' expected
Main.java:1: error: = expected
          ^
Main.java:14: error: illegal start of type
Main.java:1: error: = expected
           ^
Main.java:14: error: = expected
Main.java:1: error: = expected
                  ^
Main.java:14: error: illegal start of type
Main.java:1: error: = expected
                    ^
Main.java:15: error: = expected
Main.java:1: error: class, interface, or enum expected
^
Main.java:15: error: illegal start of type
Main.java:1: error: class, interface, or enum expected
    ^
Main.java:15: error: = expected
Main.java:1: error: class, interface, or enum expected
         ^
Main.java:15: error: illegal start of type
Main.java:1: error: class, interface, or enum expected
          ^
Main.java:15: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
           ^
Main.java:15: error: = expected
Main.java:1: error: class, interface, or enum expected
             ^
Main.java:15: error: ';' expected
Main.java:1: error: class, interface, or enum expected
                  ^
Main.java:15: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                         ^
Main.java:15: error: <identifier> expected
Main.java:1: error: class, interface, or enum expected
                                    ^
Main.java:15: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:1: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:15: error: = expected
Main.java:1: error: class, interface, or enum expected
                                              ^
Main.java:16: error: illegal start of type
                                              ^
                                              ^
Main.java:17: error: = expected
Main.java:2: error: <identifier> expected
    ^
Main.java:17: error: <identifier> expected
Main.java:2: error: <identifier> expected
         ^
Main.java:17: error: ';' expected
Main.java:2: error: <identifier> expected
          ^
Main.java:17: error: illegal start of type
Main.java:2: error: <identifier> expected
           ^
Main.java:17: error: = expected
Main.java:2: error: <identifier> expected
                  ^
100 errors

exit status 1

5 (Quine) - Omesso a causa della lunghezza del palo.


1
Poiché i messaggi di errore non sono standardizzati, è possibile aggiungere la versione del compilatore (l'output di javac -version)?
Paŭlo Ebermann,

"[...] quindi non avrei dovuto inserire manualmente le schede su 400 righe!" -> Incolla su Notepad ++, premi CTRL + A (Seleziona tutto) e poi premi tab. Questo è un modo più veloce. Inoltre, avresti potuto usare text-compare.com per confrontare i testi o il plugin Compare in Notepad ++. La cosa migliore è che text-compare.com consente di inviare i risultati via e-mail.
Ismael Miguel,

Ho usato il mio script invece di un sito Web, in modo da avere tutto l'output in un unico elenco che potrebbe quindi essere prodotto.
mbomb007,

@ PaŭloEbermann Link aggiunto
mbomb007

Ho usato repl perché ideone non mostra un output dettagliato degli errori. Se conosci un interprete online migliore, fammelo sapere. Pur avendo Netbeans ed Eclipse, non mi piace usarli per programmi semplici poiché ciò richiede la creazione di un progetto, ecc.
mbomb007

2

Javascript, 3 livelli di errore

Questa non è quella "mannaia" o altro, ma l'ho trovato piuttosto strano ...

Errore 0 (originale):

document.appendChild(HTMLAllCollection)

Errore 1:

HierarchyRequestError

Errore 2:

'HierarchyRequestError' is not defined

Errore 3 (quine):

Excepted character ';'

Tutto questo è stato restituito su Internet Explorer 11.0.9600.17416, essendo gli errori tradotti in inglese.


Printscreen:

Schermata di stampa che mostra l'output della console

* I messaggi di errore sono visualizzati in portoghese e possono essere facilmente tradotti in inglese


@ LegionMammal978 In quale versione esatta e numero di build e data?
Ismael Miguel,

@ LegionMammal978 La risposta è stata MOLTO specifica. Funziona solo su IE11 e quell'output esatto avverrà solo su Windows con portoghese (pt-PT) come lingua principale di visualizzazione. Garantisco che funzionerà su 11.0.9600.17416. Non posso e non garantirò che produrrà lo stesso output in build più recenti o su un altro sistema operativo.
Ismael Miguel,

@ LegionMammal978 Non preoccuparti. Segna i commenti come obsoleti quando ottieni questo.
Ismael Miguel,

0

JS in Firefox 66.0; 3 livelli di errore

Ingresso: 6?4;

Errore n. 1 = Ingresso n. 2: missing : in conditional expression

Errore n. 2 = Ingresso n. 3: expected expression, got keyword 'in'

Errore n. 3 = Ingresso n. 4 = Errore n. 4: unexpected token: identifier

Questo è il massimo che ho ottenuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.