Faites une quine maker lente erreur!


38

Dans le cadre de sa réponse à Make a Error Quine! @Falko a proposé l’algorithme suivant:

Comment créer sa propre solution en 2 minutes?

  1. Ouvrez un nouveau fichier dans l'EDI de votre choix.
  2. Frappe ta tête contre le clavier devant toi.
  3. Compiler.
  4. Remplacez le code par le message d'erreur du compilateur.
  5. Répétez les étapes 3 et 4 jusqu'à ce que le code converge.

Je parie qu'une telle procédure se termine assez rapidement dans la plupart des cas!

Tâche

Votre tâche est de lui prouver le contraire.

Ecrivez un programme complet qui satisfait aux critères suivants:

  1. Une fois compilé ou interprété, il génère un message d'erreur qui, lorsqu'il est compilé ou interprété à tour de rôle, génère également un message d'erreur.

  2. Si vous répétez l’étape 1 à plusieurs reprises, vous rencontrerez éventuellement un point fixe, c’est-à-dire un quine d’erreur.

Règles supplémentaires

  • Le message d'erreur final doit avoir une longueur positive. Toutefois, les messages d'erreur précédents et le code source d'origine peuvent être vides.

  • La longueur du code source d'origine ne doit pas dépasser 1024 octets.

  • Ni le code original ni le code généré à l'une des étapes ne peuvent produire une sortie non erronée.

    La sortie doit être clairement identifiable en tant que message d'erreur, qui doit être généré par le compilateur / interprète en raison d'une erreur de syntaxe, d'une erreur d'exécution, d'une référence non définie, etc.

  • Votre programme peut ne recevoir aucune entrée ou requérir aucun indicateur pour produire la boucle.

  • Votre programme peut s’appuyer sur une implémentation spécifique de son langage ou de sa version.

Notation

Votre score est le nombre fini d’étapes requis par votre code source avant de générer un quine d’erreur. La soumission avec le score le plus élevé gagne.

La longueur du code source original sera utilisée comme condition de départage. Plus c'est court, mieux c'est.

Exemple

Au poulet , le programme



génère le message d'erreur suivant:

TypeError: Cannot read property 'NaN' of undefined

Si ce message d'erreur est, à son tour, interprété, il produit le message d'erreur

Error on line 1: expected 'chicken'

qui, s’il est interprété à son tour, se produit.

Ainsi, le score du programme de poulet vide est 2.

Contre-exemple

Le code PHP

ab<?=c

génère le message d'erreur

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

qui se produit lorsqu'il est interprété.

Cependant, le second code source imprime le message à STDOUT, rendant cette séquence invalide.


11
Cette procédure ne produit jamais de code d'erreur en Pyth. Il se termine par un cycle de répétition, dont la troisième sortie d'erreur est Segmentation fault (core dumped).
isaacg

4
@isaacg: C'est en fait assez chouette que c'est cyclique.
Alex A.

5
Je crois que c'est la 3000ème question, sans compter les questions fermées ou verrouillées. Félicitations! :)
Martin Ender

Dommage que C # ne puisse pas le faire, car le compilateur génère une ligne d’erreurs de plus en plus longue.
LegionMammal978

1
@IsmaelMiguel: J'ai ajouté les deux dernières itérations, pour faire court.
Dennis

Réponses:


36

Bash, 9223372036854775810

Inspiré par la réponse de la poignée de porte.

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

Il doit être exécuté avec bash < file.sh, ou utiliser le même nom de fichier pour chaque programme, afin de supprimer les différents noms de fichiers dans les messages d'erreur.

Les premières erreurs sont (avec 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

Et enfin:

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

ce qui est une erreur quine.


7
C'est probablement aussi élevé que sur les machines 64 bits. Bien joué.
Dennis

@Dennis Cela peut être beaucoup plus élevé si j'utilise bcou écris mon propre code pour décrémenter.
jimmy23013

3
@Dennis Edited pour que les erreurs tiennent dans les tailles de fichier maximales des ordinateurs 64 bits.
Jimmy23013

2
Ceci est particulièrement ridiculement élevé score par rapport aux autres réponses. Pour être juste, Falko a dit "la plupart des cas" (bien que cela fournisse au moins 9223372036854775000 avec un score supérieur à 800.)
PyRulez

Peut-être aussi ajouter les derniers (juste avant que cela devienne une quine)?
Paŭlo Ebermann

15

Pip 0.15.05.29 , plus de 10 100 000

Techniquement non valide car il nécessite l' -windicateur pour la sortie d'avertissement. Cela dit, Pip de par sa conception n’affiche aucune erreur d’exécution à moins que le programme ne plante (récursion infinie, par exemple); les problèmes avec ce code sont des choses dont d'autres langues se plaindraient.

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

Le nombre exact d'étapes dépend uniquement de la valeur affectée i. Il peut donc être arbitrairement volumineux (jusqu'à ce que l'interpréteur Python manque de mémoire). En outre, il faudrait plus de temps que l'âge de l'univers pour terminer la séquence ci-dessus. (La question a précisé "lent"!)

Explication:

Il a fallu passer au peigne fin de l’interprète avant de trouver une erreur qui me permettrait de mettre du code arbitraire dans le message d’avertissement. Après cela, il s'agissait essentiellement de modifier les techniques standard de quine. Exemple utilise une valeur ide- 5à des fins d’explication.

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

Une fois les paramètres définis i, enregistrez une chaîne d, puis tentez d’exécuter l’ Sinstruction wap. Swap attend deux variables (plus précisément, lvalues). sest bien, mais la deuxième expression est i?dRo--iRsRPda. Si iest vrai (différent de zéro, pour nos besoins), le ternaire évalue à dRo--iRsRPd, qui utilise à dpartir de plus tôt pour former un quasi-quine - uniquement avec idécrémenté. Cette expression n'est pas une lvalue, donc Pip se plaint:

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

... qui recommence ensuite. ( Attempting to swap non-lvalueest un tas de no-ops: Atcalcule la valeur ASCII de t = 10, n-lsoustrait la nouvelle ligne moins chaque valeur d'une liste vide, et toutes les lettres minuscules ne sont que des variables.)

Le processus se poursuit de la même manière jusqu'à:

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

Quand ceci est exécuté, iest maintenant faux. L'expression ternaire est évaluée à la branche else a- qui est une valeur. Ainsi, swap ne se plaint plus. Au lieu de cela, nous obtenons:

Referencing uninitialized variable a

Et en exécutant ceci, nous avons enfin une erreur de syntaxe:

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

... à quel moment, depuis le début du "programme" R, Pip continuera à se plaindre de Rne pas être un opérateur unaire pour toujours.


La meilleure solution que ne pas utiliser -west de longueur 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 -wcompte comme un langage de programmation selon le méta consensus
MilkyWay90

@ MilkyWay90 Bon point, bien que je pense que le libellé de cette question remplace celui par défaut ("Votre programme ne peut pas ... exiger que des indicateurs soient produits pour produire la boucle"). Cela n'a pas beaucoup d'importance pour moi, d'une manière ou d'une autre - ma solution a toujours été bien accueillie. :)
DLosc

Ok, je vois maintenant
MilkyWay90 le

13

Julia, 3

Un simple pour faire avancer les choses ...

Programme initial:

inquisition

Erreur 1:

inquisition not defined

Cela peut ne pas être défini, mais si c'est espagnol , c'est aussi inattendu. Personne ne s'attend à l'inquisition espagnole.

Erreur 2:

syntax: extra token "not" after end of expression

Erreur 3:

syntax: extra token "token" after end of expression

Le troisième message d'erreur, lorsqu'il est soumis en tant que programme, produit la même erreur, d'où le score de 3.

Travaux en cours! Je peux sûrement faire mieux que 3.


2
Indépendant, mais intéressant à regarder (sous-titres en espagnol): youtube.com/watch?v=8mzfyVluiIU ou (sous-titres en anglais, et de meilleure qualité): youtube.com/watch?v=mog7Gsu613E
Ismael Miguel

2
@ IsmaelMiguel Cela est certainement lié. :)
Alex A.

8

R, 5

Programme initial:

1i*"5"

Erreur 1:

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

Erreur 2:

Error: unexpected 'in' in "Error in"

Erreur 3:

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

Erreur 4:

Error: unexpected symbol in "Error: unexpected string"

Erreur 5 (Quine):

Error: unexpected symbol in "Error: unexpected symbol"

6

Bash, 3

cp

Un script shell très rudimentaire pour le tester:

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
-----

Votre script de test n'ignore pas stdout. S'il y a stdoutet stderr, il ne fonctionnera pas correctement.
wizzwizz4

@ wizzwizz4 Le défi interdit la sortie sans erreur.
Dennis

@ Dennis Bon point. Mais ... l'utilisateur n'est pas toujours aussi bon que le programmeur. (Même si l'utilisateur est un programmeur, il se peut qu'il ne soit pas un expérimenté.)
wizzwizz4

5

Ruby, 5

Programme initial

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

Celles-ci sont très longues ... j'ai donc vérifié l'égalité des chaînes en utilisant un script Python, et j'ai généré cette publication formatée, de sorte que je n'aurais pas à insérer manuellement des tabulations sur 400 lignes.

Programme initial

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) - Omis en raison de la longueur du poteau.


1
Comme les messages d'erreur ne sont pas normalisés, pourriez-vous ajouter votre version du compilateur (la sortie de javac -version)?
Paŭlo Ebermann

"[...] donc je n'aurais pas à insérer manuellement des onglets sur 400 lignes!" -> Coller sur le Bloc-notes ++, appuyez sur CTRL + A (Tout sélectionner), puis appuyez sur la touche de tabulation. C'est un moyen plus rapide. Aussi, vous auriez pu utiliser text-compare.com pour comparer les textes, ou le plugin Compare dans Notepad ++. Le meilleur de tous est que text-compare.com permet d’envoyer les résultats par courrier électronique.
Ismael Miguel

J'ai utilisé mon script au lieu d'un site Web, de sorte que toutes les sorties soient répertoriées dans une seule liste, qui pourrait ensuite être imprimée.
mbomb007

@ PaŭloEbermann Added link
mbomb007

Je rempl parce ideone ne montre pas bavard sortie d'erreur. Si vous connaissez un meilleur interprète en ligne, faites le moi savoir. Malgré Netbeans et Eclipse, je n'aime pas les utiliser pour des programmes simples, car cela nécessite de créer un projet, etc.
mbomb007

2

Javascript, 3 niveaux d'erreur

Ce n'est pas ce "couperet" ou quoi que ce soit, mais j'ai trouvé ça plutôt bizarre ...

Erreur 0 (original):

document.appendChild(HTMLAllCollection)

Erreur 1:

HierarchyRequestError

Erreur 2:

'HierarchyRequestError' is not defined

Erreur 3 (quine):

Excepted character ';'

Tout cela a été renvoyé sur Internet Explorer 11.0.9600.17416, les erreurs étant traduites en anglais.


Capture d'écran:

Écran d'impression montrant la sortie de la console

* Les messages d'erreur sont affichés en portugais et peuvent être facilement traduits en anglais.


@ LegionMammal978 Dans quelle version exacte ET le numéro de build et la date?
Ismael Miguel

@ LegionMammal978 La réponse était TRÈS spécifique. Cela ne fonctionne que sur IE11 et cette sortie exacte ne se produira que sous Windows avec le portugais (pt-PT) comme langue d'affichage principale. Je vous garantis que cela fonctionnera le 11.0.9600.17416. Je ne peux pas et ne garantirai pas qu'il produira le même résultat dans des versions plus récentes ou sur un autre système d'exploitation.
Ismael Miguel

@ LegionMammal978 Ne vous inquiétez pas. Marquez les commentaires comme obsolètes lorsque vous obtenez celui-ci.
Ismael Miguel

0

JS dans Firefox 66.0; 3 niveaux d'erreur

Contribution: 6?4;

Erreur n ° 1 = entrée n ° 2: missing : in conditional expression

Erreur n ° 2 = entrée n ° 3: expected expression, got keyword 'in'

Erreur n ° 3 = entrée n ° 4 = erreur n ° 4: unexpected token: identifier

C'est le plus haut que j'ai eu.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.