Machen Sie einen Fehler quine!


104

Ihre Herausforderung: Schreiben Sie ein "Programm" für eine Sprache Ihrer Wahl, das bewirkt, dass der Compiler / Interpreter / die Laufzeit beim Kompilieren / Ausführen Ihres Programms eine Fehlerausgabe erzeugt , die mit dem Quellcode Ihres Programms identisch ist.

Regeln:

  • Ihr Programm ist möglicherweise spezifisch für eine bestimmte Version oder Implementierung der Compiler- / Interpreter- / Laufzeitumgebung Ihrer Sprache. Wenn ja, geben Sie bitte die Einzelheiten an.
  • Es sind nur Standardoptionen für Compiler / Interpreter / Laufzeit zulässig. Sie können Ihrem Compiler kein seltsames Flag übergeben, um ein bestimmtes Ergebnis zu erhalten.
  • Das Programm muss nicht syntaktisch oder semantisch gültig sein, aber ich kann der besten syntaktisch gültigen Übermittlung eine Belohnung geben.
  • Das Programm darf keine eigene Ausgabe erzeugen (zB durch Aufruf einer Druck- oder Ausgabefunktion). Alle Ausgaben, die beim Versuch generiert werden, das Programm zu kompilieren / auszuführen, müssen vom Compiler / Interpreter / der Laufzeit stammen.
  • Die vollständige Ausgabe des Compilers / Interpreters / der Laufzeit muss exakt mit Ihrem Programmquellcode identisch sein.
  • Der Compiler / Interpreter / die Laufzeit muss mindestens eine Fehlermeldung erzeugen, wenn er mit Ihrem Programm aufgerufen wird.

Dies ist ein Beliebtheitswettbewerb . Die kreativste Antwort, bestimmt durch die positiven Stimmen, gewinnt. Wenn Sie ein gutes Argument für die Verwendung einer Standardlücke angeben können, können Sie dies tun.


7
Was ist " Fehlerausgabe "? Und was bedeutet es, " eine Fehlermeldung zu generieren "? Genauer gesagt: 1) Muss die Ausgabe zu stderr sein? 2) Wenn die Laufzeitumgebung einen Fehler in syslog protokolliert und nichts in stderr schreibt, was sollte mit der Programmquelle verglichen werden? 3) Wenn die Laufzeit eine Ausnahme intern auslöst, wenn ein leeres Programm angegeben wird, aber ein Flag erforderlich ist, um die Ausnahme tatsächlich zu drucken, und das Programm mit einem Exit-Code ungleich Null, aber ohne Ausgabe beendet wird, wurde eine Fehlermeldung generiert?
Peter Taylor

1
Ich habe versucht, dies in Java zu tun und bekam einen P3-Oszillator. Dies war die kürzeste Phase: (Kompilieren aus q.java):Error: Could not find or load main class Q
SuperJedi224

2
Ha, wegen einer syntaktischen Mehrdeutigkeit im ersten Satz dachte ich, dass die Herausforderung hier darin bestand, ein Programm zu erstellen, das normalerweise keine Ausgabe erzeugt, aber wenn Sie ihm einen eigenen Code als Eingabe übergeben, erzeugt es einen Fehler.
Steve Bennett

2
Bei der Meldung eines Fehlers gibt APL immer einen anpassbaren Fehlernamen aus, optional eine Fehlermeldung, den Namen des Programms, das den Fehler verursacht hat, die Zeilennummer (in Klammern), in der der Fehler aufgetreten ist, die Codezeile, die den Fehler verursacht hat, und a Zeile mit einem Caret, das angibt, wo das Parsen aufgehört hat. Hoffnung auf Teilnahme hier?
Adám

1
@SteveBennett Warum hast du diese Herausforderung noch nicht gemeistert?
CalculatorFeline

Antworten:


117

Ed (1 Byte)

Alle anderen bisherigen Lösungen sind langwierig und hässlich. Ich nehme an, das liegt an der Natur der meisten Fehlermeldungen. Aber eine gute Fehlermeldung ist in ihrer Einfachheit elegant. Dafür suchen Sie nicht weiter als ed.

?

Speichern Sie dies in einer Datei mit dem Namen edscriptund führen Sie sie mit ed < edscriptoder aus ed<<<?. Das Ergebnis:

?

Das Fragezeichen wird in stderr geschrieben, und ed gibt 1 zurück. Dies ist also tatsächlich eine Fehlermeldung. Ich frage mich, warum ed nicht sehr beliebt ist?

Falsch (0 Bytes)

Laufen Sie mit false filename. Es schreibt den Quellcode des Programms (dh nichts) in stderr und gibt 1 zurück. Natürlich ist es fraglich, false als Programmiersprache zu bezeichnen, und das Null-Byte-Quine ist unoriginal, aber ich dachte, ich könnte es genauso gut hinzufügen. Es gibt wahrscheinlich einen Interpreter für eine Sprache, der keine Fehlermeldungen ausgibt und false ersetzen könnte.

Jetzt wünschte ich, das wäre Codegolf.


12
Ich habe die (lange) Liste der Esolangs durchgesehen, um eine Sprache wie diese zu finden. Dies ist die Schwäche dieser Herausforderung. Es geht nicht darum, ein cleveres Programm zu schreiben, es geht darum, die Sprache clever zu wählen. : /
Ingo Bürk

23
@ IngoBürk Zum Glück ist dies ein Beliebtheitswettbewerb, kein Golf.
flauschige

Der 0-Byte-Falschcode ist auch derselbe Code, der vom IOCCC mit dem Preis "Worst Abuse of the Rules" für die Herstellung des theoretisch kürzesten Chinins ausgezeichnet wurde. Es hatte jedoch viele Compilerfehler und wurde in K & R C geschrieben, nicht in ISO C (was strenger ist).
Isiah Meadows

6
@ IngoBürk Bei vielen Problemen im wirklichen Leben geht es auch darum, die Sprache klug zu wählen. : P
Sarge Borsch

2
@ Mendeleev * Quine (Bis vor kurzem habe ich "quine" aus irgendeinem Grund immer wieder falsch als "quinine" interpretiert ...)
Isiah Meadows


81

CoffeeScript, syntaktisch gültig

Wie auf ihrer Website mit Chrome oder Firefox getestet .

ReferenceError: defined is not defined

Sie können definedalles ersetzen, was keine eingebaute Variable ist, aber ich dachte, diese Version hat Spaß gemacht. undefined is not definedInsbesondere funktioniert das leider nicht als Quine.

In CoffeeScript ist dies nicht einmal ein Syntaxfehler, da es kompiliert. Dies ist technisch gesehen ein Laufzeitfehler in JavaScript, wenn auch ein langweiliger. CoffeeScript ist wahrscheinlich ein Kandidat, der einige interessantere Laufzeitfehlerquines erzeugt, da viele lustige Sätze gültigen Code enthalten. ZB übersetzt das obige Beispiel nach

({
  ReferenceError: defined === !defined
});

2
definedist von definedition defined. Was ... wie ...?
CalculatorFeline

3
Undefined is not defined(mit einem Großbuchstaben U) scheint zu funktionieren lol
Shieru Asakoto

50

Python

Spyder

Nun, eine ziemlich triviale Lösung für die Spyder-IDE ist es, a zu erhöhen SyntaxError.

Code und identische Ausgabe:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Applications/Spyder.app/Contents/Resources/lib/python2.7/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
    execfile(filename, namespace)
  File "/Users/falko/golf.py", line 1
    Traceback (most recent call last):
                         ^
SyntaxError: invalid syntax

(Python 2.7.8 mit Spyder 2.2.5)


Terminal

Eine alternative Lösung für Python begann mit Befehlszeilenproblemen mit einem unerwarteten Einzug.

Befehl:

python golf.py

Code und identische Ausgabe:

  File "golf.py", line 1
    File "golf.py", line 1
    ^
IndentationError: unexpected indent

ideone.com

Auf ideone.com könnte eine Lösung wie folgt aussehen. (Versuch es!)

Code und identische Ausgabe:

Traceback (most recent call last):

  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/py_compile.py", line 117, in compile
    raise py_exc
py_compile.PyCompileError: SyntaxError: ('invalid syntax', ('prog.py', 1, 22, 'Traceback (most recent call last):\n'))

(Dies ist für Python 2. Ein Beispiel für Python 3 ist trivial, aber mit 15 Zeilen "Code" ziemlich lang.)


Allgemeiner Ansatz:

Wie erstelle ich meine eigene Lösung in 2 Minuten?

  1. Öffnen Sie eine neue Datei in einer IDE Ihrer Wahl.
  2. Schlagen Sie Ihren Kopf auf die Tastatur vor Ihnen.
  3. Kompilieren.
  4. Ersetzen Sie den Code durch die Compiler-Fehlermeldung.
  5. Wiederholen Sie die Schritte 3 und 4, bis der Code konvergiert.

Ich wette, ein solches Verfahren wird in den meisten Fällen ziemlich schnell beendet!


6
Wie Sie wahrscheinlich sehen können, verwende ich diesen allgemeinen Ansatz. Es funktioniert nicht, wenn der kopierte Code die Anzahl der Compilerfehler progressiv erhöht. :-)
rink.attendant.6

9
@ rink.attendant.6: Dann ist unser wertvolles Expertenwissen im Bereich Software Engineering gefragt. ;)
Falko

@ rink.attendant.6 Oder wenn du im Kreis herumläufst. Versuchen Sie es im Excel-VBA-Direktfenster.
Dennis Jaheruddin

45
Ich habe die Schritte 1, 2 und 3 ausgeführt, aber Schritt 4 konnte ich nicht ausführen. Der Perl-Code war vollkommen gültig!
Rodolphito

Hey, wie wäre es damit in der Python Stock-IDE, SyntaxError: invalid syntaxproduziert das gleiche auch :)
Gurupad Mamadapur

42

> <> - 25 Bytes

something smells fishy...

In Fish gibt jeder fehlerhafte Befehl den Fehler aus: "Etwas riecht nach Fisch ...". Da s kein gültiger Befehl ist, tritt sofort ein Fehler auf.


10
Bitte beachten Sie, dass der Name der Sprache> <> ist, was normalerweise "Fisch" ausgesprochen wird.
Aaron

1
Und es ist wirklich "Etwas riecht faul ..."
Conor O'Brien

3
@ CᴏɴᴏʀO'Bʀɪᴇɴ Auf dem Python-Interpreter ist es zwar something smells fishy..., aber es ist Something smells fishy...auf dem Online-Interpreter. Es hängt vom Dolmetscher ab.
Addison Crump

1
@VTCAKAVSMoACE Ah, danke.
Conor O'Brien

Cuz 'fish' ist der Name des Shell-Programms / der Sprache für die 90er !
Nick T

41

Windows .EXE, 248 Bytes

The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

Nicht wirklich. Speichern unter quine.txt, benennen Sie anschließend auf quine.exe(oder laden Sie es hier ):


38

Leerzeichen

Zuerst dachte ich, das ist eindeutig unmöglich. Aber eigentlich ist es auch trivial. -.-

Fail: Input.hs:108: Non-exhaustive patterns in function parseNum'

Versuch es.

Ja, mein erstes Whitespace-Programm! ;)


1
Können wir rufen auch dieses ein Leerzeichen Programm?
V. Courtois

1
Ist das ein Interpreter Bug?
immibis


29

JavaScript

Da unterschiedliche Browser unterschiedliche JavaScript-Compiler verwenden, erzeugen sie unterschiedliche Meldungen. Dies sind jedoch eher triviale Lösungen.

V8 (Chrome 36 / Node.js)

SyntaxError: Unexpected identifier

Bildbeschreibung hier eingeben

SpiderMonkey (Firefox 31)

SyntaxError: missing ; before statement

Bildbeschreibung hier eingeben

Chakra (Internet Explorer 11)

Expected ';'

Bildbeschreibung hier eingeben


In jsc: Exception: SyntaxError: Unexpected identifier 'identifier': D
klatschen

2
@ConfusedMr_C Das ist ein seltsames Zeichen, an dem man ersticken muss.
SuperJedi224

@ SuperJedi224 Ja. Zumindest funktioniert es: P
klatsche

28

Commodore 64 Basic

?SYNTAX  ERROR

Wenn auf dem Emulator Ihrer Wahl (oder einem tatsächlichen Commodore 64) ausgeführt, produziert

?SYNTAX  ERROR

Dies ist in der Tat ein syntaktisch gültiges einzeiliges Programm. Das Fragezeichen ist eine Abkürzung für PRINTund SYNTAXund ERRORist ein gültiger Variablenname. Der Fehler tritt auf, weil der Parser durch die Teilzeichenfolge ORin verwirrt wird ERROR.


5
Wenn der Parser verwirrt ist und einen Syntaxfehler ausgibt, ist er dann syntaktisch nicht gültig?
Martin Ender

4
@ MartinBüttner, das kommt wirklich darauf an, welche Autorität du für "gültige Syntax" hältst: die Sprachbeschreibung oder die Sprachimplementierung.
Mark

16
Ich verstehe, so technisch ist syntaktisch gültig, aber es löst den Parser aufgrund eines Fehlers einer bestimmten Implementierung aus?
Martin Ender

6
Mehr oder weniger, dadurch verwirrt , dass es ist nur eine Implementierung.
Mark

Nitpick: CBM BASIC druckt tatsächlich zwei Leerzeichen zwischen "SYNTAX" und "ERROR". Leider kann ich diese Antwort nicht bearbeiten, um sie zu korrigieren, da Stack Exchange ein Minimum von 6 Zeichen für Änderungen auferlegt.
Psychonaut

28

Microsoft Excel

Formel: #DIV/0!

Fehlermeldung: #DIV/0!

Um eine Formel ohne Gleichheitszeichen einzugeben, wechseln Sie zu Excel-Optionen / Erweitert / Lotus-Kompatibilitätseinstellungen und aktivieren Sie die Übergangsformeleingabe.


-2 Bytes:#REF!
Engineer Toast

19

Bash (32)

Speichern als Datei mit dem Namen x:

x: line 1: x:: command not found

Wenn ausgeführt:

>> bash x
x: line 1: x:: command not found

19

Java 8-Kompilierungsfehler quine (12203 Byte)

Unter Windows + MingW mit Java 1.8.0_11 JDK generiert, mit diesem Befehl:

echo a > Q.java; while true; do javac Q.java 2> Q.err; if [ $(diff Q.err Q.java | wc -c) -eq 0 ]; then break; fi; cat Q.err > Q.java; done

Vielleicht nicht die kürzeste, vielleicht auch nicht die längste, eher ein Proof of Concept. Funktioniert, da bei der Fehlerausgabe höchstens 100 Fehler angezeigt werden.

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


17

TrumpScript - PPCG wieder großartig machen ( TrumpScript )

Wenn Sie versuchen, diese Sprache auf einem Windows-PC auszuführen, wird immer Folgendes ausgegeben:

Make sure the currently-running OS is not Windows, because we're not PC

Wenn Sie dieses Programm ausführen:

Make sure the currently-running OS is not Windows, because we're not PC

Es wird nicht einmal analysiert, da die Betriebssystemprüfung fehlschlägt und Sie die Fehlermeldung erhalten. Beispiele können auch für Mac gegeben werden, wenn jemand sie möchte, haha. Gott, ich wollte das jetzt schon eine Weile in PPCG verwenden, gut, dass ich endlich dazu komme.

Vollständige Liste der Fehler, die mithilfe von Umgebungsspezifikationen ausgelöst werden können:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py


Bonus Antwort: ArnoldC ( ArnoldC )

ArnoldC erfordert die Root-Deklaration von IT'S SHOWTIME, was bedeutet main():

WHAT THE FUCK DID I DO WRONG

Ergibt die einzige Fehlermeldung in ArnoldC ...

WHAT THE FUCK DID I DO WRONG

Welches ist eigentlich ... urkomisch. Sie müssen es ohne Stack-Traces nonverbose ausführen.


9
Dies sollten zwei getrennte Antworten sein.
mbomb007


12

Julia 0.2.0

Ein anderer Syntaxfehler wurde iterativ gefunden, bis ein fester Punkt erreicht wurde:

ERROR: syntax: extra token "token" after end of expression

11

Mathematica

Syntax: "needed." is incomplete; more input is needed.

A .in Mathematica bedeutet entweder ein Dezimalpunkt oder eine Funktion Dot. In diesem Fall steht das .am Ende eines Ausdrucks und kann nicht interpretiert werden.


Bildbeschreibung hier eingeben


Ich hätte nicht gedacht, dass es möglich ist.
Genisis

9

C

Ich habe die Methode angewendet, die Fehlermeldungen wiederholt in die Quelle zu kopieren. Es konvergierte in 2 Zyklen. Kompiliert unter OSX 10.9 mit 'cc -c error.c'.

error.c:1:1: error: unknown type name 'error'
error.c:1:1: error: unknown type name 'error'
^
error.c:1:6: error: expected identifier or '('
error.c:1:1: error: unknown type name 'error'
     ^
2 errors generated.

Hinweis: Dies ist weniger eine Antwort als vielmehr eine Methode, um eine Antwort zu erhalten. Das Ergebnis kann sich je nach Betriebssystem oder verwendeter Version von cc ändern.

Die genaue Methode, um das Ergebnis zu erhalten, besteht darin, die Anweisungen auszuführen

$ cc -c error.c 2>out ; mv out error.c ; cat error.c

wiederholt, bis sich der Ausgang nicht mehr ändert.


Ich versuchte es erneut. Zuerst hat es nicht funktioniert. Damit es funktioniert, müssen Sie cc -c error.c 2>outund dann ausführen mv out error.c. Und mit der Version von cc, die ich heute habe, dauert es noch ein paar Iterationen.
Florian F

Möglicherweise möchten Sie in Ihrer Antwort darauf hinweisen, dass eine bestimmte Version von OSX erforderlich ist cc. Andernfalls ist es ungültig und muss gemäß den Community-Richtlinien gelöscht werden.
MD XF

@ MDXF: Es funktioniert mit clang. Hier ist ein Link zu tio.run, 122 Bytes: tio.run/##S9ZNzknMS///Xy85PyVVryQzXy/…
G. Sliepen

8

C ++ (g ++)

Die Datei muss gespeichert werden als 1.pas.

g++: error: 1.pas: Pascal compiler not installed on this system

4
Funktioniert es nach wie vor , wenn der Pascal - Compiler wird in dem System installiert?
SuperJedi224

@ SuperJedi224 Zumindest hilft die Installation von FreePascal nicht. Ich nehme an, dass GNU Pascal der richtige Pascal-Compiler ist, aber ich habe es nicht versucht.
Jimmy23013

8

INTERCALL , 90 Bytes

Fatal error: A INTERCALL program must start with the mandatory header to prevent golfing.\n

Schließt eine nachfolgende Zeile am Ende ein. Beachten Sie, dass dies nicht STDERR ist, aber von vielen als Fehlerausgabe angesehen wurde. Deshalb habe ich es hier veröffentlicht.

Dies ist der "obligatorische Header":

INTERCALL IS A ANTIGOLFING LANGUAGE
SO THIS HEADER IS HERE TO PREVENT GOLFING IN INTERCALL
THE PROGRAM STARTS HERE:

Die Verbindung zum Repo ist unterbrochen.
connectyourcharger

@connectyourcharger Hm, sieht so aus, als gäbe es kein Repo mehr.
Erik der Outgolfer

Ja, Google-Suchanfragen liefern nur Repos für Intercal.
connectyourcharger

@connectyourcharger Keine Notwendigkeit; Es gibt nur 8 Repos mit der Bezeichnung "intercall" (ohne Berücksichtigung der Groß- und Kleinschreibung), und keine von ihnen befasst sich mit der Sprache. Daher kann man mit Sicherheit sagen, dass sie endgültig weg ist (nein, die Wayback-Maschine enthält auch nichts).
Erik der Outgolfer

8

GHCi (ein Haskell-Interpreter / eine Shell)

Code.hs:1:1: Parse error: naked expression at top level

Verwendungszweck:

Schreiben Sie den Code in eine Datei mit dem Namen Code und laden Sie sie mit GHCi.

Eine nette Tatsache ist, dass, wenn die Wörter tatsächliche Bezeichner wären, dies ein legaler Ausdruck wäre (solange es eine Typüberprüfung wäre). Dies ist im Wesentlichen auf die Tatsache zurückzuführen, dass :es sich um einen eingebauten Operator handelt, .der für modulqualifizierte Namen verwendet wird und Leerzeichen zur Bezeichnung der Funktionsanwendung verwendet werden.


.ist kein Operator hier. Es ist Teil eines qualifizierten Namens. Für welche Version von GHCi ist das gedacht?
dfeuer

@dfeuer ja mein böser. Fühlen Sie sich frei, es zu beheben. Die Ghci-Version ist wahrscheinlich in der Nähe von dem, was zu der Zeit herauskam.
stolzer haskeller

7

Ruby 2 unter Windows

Code:

error.rb:1: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
error.rb:1: syntax error, unexpected tI...
          ^

Der Code wurde gefunden, indem der Prozess immer wieder getestet und wiederholt wurde, bis ein Fixpunkt erreicht wurde. Der Code muss sich in der Datei befinden "error.rb".

Demo:

C:\>type error.rb
error.rb:1: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTR
ING_DBEG or tSTRING_DVAR or tSTRING_END
error.rb:1: syntax error, unexpected tI...
          ^

C:\>ruby.exe error.rb
error.rb:1: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTR
ING_DBEG or tSTRING_DVAR or tSTRING_END
error.rb:1: syntax error, unexpected tI...
          ^

7

Applescript (im Skripteditor)

Syntax Error
A "error" can't go after this identifier.

Bildbeschreibung hier eingeben


8
Es ist ein Fehler?
Katze

Der Artikel "A" erscheint vor Wörtern, die mit einem Konsonanten oder einem Konsonantenton beginnen. Für Wörter, die mit einem Vokal oder einem Vokalton beginnen, ist der richtige Artikel "ein". Ich bin nur pingelig :)
Katze

1
@cat Ich verstehe. Ja, ich habe nie behauptet, grammatikalisch
Digitales Trauma

7

AppleScript

Ein Bezeichner kann diesem Bezeichner nicht folgen.

Beide Aund identifierkönnen Bezeichner sein, also sagt AppleScript nein.

Bezeichner


21
es sollte ein Bezeichner sein ... komm schon ....
Katze

7

C (gcc)

error.c:1:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
 error.c:1:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
      ^
compilation terminated due to -Wfatal-errors.

Kompilieren mit gcc -Wfatal-errors error.c.



6

BBC Basic, 7 Bytes (oder 0 Bytes)

Dies ist ein gültiger 7-Byte-Eintrag:

Mistake

Dies ist die Fehlermeldung, die vom Interpreter ausgegeben wird, wenn der Code nicht vollständig verstanden werden kann.

Auf der anderen Seite ist dies nicht:

ERROR

Dies ist ein gültiges Schlüsselwort in BBC Basic, das absichtlich einen Fehler eines bestimmten Codes in das Programm einbringen soll, aber die Syntax ist falsch (es wird kein Code angegeben.) Daher wird zurückgegeben Syntax error(was wiederum zurückgegeben wird, Mistakewenn es ausgeführt wird.)

Generell führt die von Falko in seiner Antwort beschriebene Vorgehensweise zu MistakeBBC Basic. Es gibt einige Ausnahmen. Alles, was die Fehler erzeugt DATA not LOCALoder ON ERROR not LOCALzum berühmten Null-Byte-Quine führt: Ein leerer Quellcode erzeugt eine leere Datei.

Da die meisten Fehlermeldungen in BBC basic Kleinbuchstaben sind (und daher keine gültigen Schlüsselwörter), bin ich mir ziemlich sicher, dass eine ungültige Eingabe letztendlich zu einer dieser Möglichkeiten führt.


5

CoffeeScript

Schlägt beim ersten Fehler fehl, daher ist es recht einfach:

E:\foo.coffee:1:3: error: unexpected \
E:\foo.coffee:1:3: error: unexpected \
  ^

Demo

E:\>coffee -c foo.coffee
E:\foo.coffee:1:3: error: unexpected \
E:\foo.coffee:1:3: error: unexpected \
  ^

E:\>

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.