Fai un errore quine!


104

La tua sfida: scrivere un "programma", per una lingua di tua scelta, che induca il compilatore / interprete / runtime a produrre un output di errore durante la compilazione / esecuzione del programma che è identico al codice sorgente del programma.

Regole:

  • Il tuo programma potrebbe essere specifico per una particolare versione o implementazione dell'ambiente del compilatore / interprete / runtime della tua lingua. In tal caso, si prega di specificare i dettagli.
  • Sono consentite solo opzioni standard di compilatore / interprete / runtime. Non puoi passare qualche strana bandiera al tuo compilatore per ottenere un risultato specifico.
  • Non è necessario che il programma sia sintatticamente o semanticamente valido, ma potrei dare una generosità alla migliore presentazione sintatticamente valida.
  • Il programma non deve produrre alcun output (ad es. Chiamando una funzione di stampa o di output). Tutto l'output generato nel tentativo di compilare / eseguire il programma deve provenire dal compilatore / interprete / runtime.
  • L'output completo del compilatore / interprete / runtime deve essere esattamente identico al codice sorgente del programma.
  • Il compilatore / interprete / runtime deve generare almeno un messaggio di errore quando viene richiamato con il programma.

Questo è un concorso di popolarità . La risposta più creativa, determinata da voti positivi, vince. Se puoi dare una buona ragione per usare una scappatoia standard, puoi farlo.


7
Che cos'è " output dell'errore "? E cosa significa " generare un messaggio di errore "? Più specificamente: 1) L'output deve essere su stderr? 2) Se il runtime registra un errore su syslog e non scrive nulla su stderr, cosa dovrebbe essere confrontato con l'origine del programma? 3) Se il runtime genera un'eccezione internamente quando viene fornito un programma vuoto, ma richiede un flag per stampare effettivamente l'eccezione e finisce per uscire con un codice di uscita diverso da zero ma nessun output, è stato generato un messaggio di errore?
Peter Taylor,

1
Ho provato a farlo in Java e ho ottenuto un oscilatore p3. Questa è stata la fase più breve: (compilazione da q.java):Error: Could not find or load main class Q
SuperJedi224

2
Ah, a causa di un'ambiguità sintattica nella prima frase, ho pensato che la sfida qui fosse quella di produrre un programma che normalmente non produce alcun output, ma se gli passi il suo codice come input, produce un errore.
Steve Bennett,

2
Quando si segnala un errore, APL stampa sempre un nome di errore personalizzabile, facoltativamente un messaggio di errore, il nome del programma che ha causato l'errore, il numero di riga (tra parentesi) in cui si è verificato l'errore, la riga di codice che ha causato l'errore e un linea con un cursore che indica dove si è interrotto l'analisi. Qualche speranza di partecipazione qui?
Adám,

1
@SteveBennett Perché non hai ancora fatto questa sfida?
CalculatorFeline

Risposte:


117

Ed (1 byte)

Tutte le altre soluzioni finora sono lunghe e brutte. Suppongo che ciò sia dovuto alla natura della maggior parte dei messaggi di errore. Ma un buon messaggio di errore è elegante nella sua semplicità. Per questo, non guardare oltre ed.

?

Salvalo in un file chiamato edscripted esegui ed < edscripto esegui ed<<<?. Il risultato:

?

Il punto interrogativo è scritto su stderr ed ed restituisce 1, quindi in realtà si tratta di un messaggio di errore. Mi chiedo perché ed non sia molto popolare?

Falso (0 byte)

Corri con false filename. Scrive il codice sorgente del programma (cioè niente) su stderr e restituisce 1. Naturalmente, chiamare falso un linguaggio di programmazione è discutibile, e il byte zero zero non è originale, ma ho pensato che potrei anche aggiungerlo. Probabilmente esiste un interprete per una lingua che non stampa messaggi di errore e potrebbe sostituire false.

Ora vorrei che questo fosse il codice golf.


12
Stavo guardando la (lunga) lista di esolang per trovare una lingua come questa. Questa è la debolezza di questa sfida. Non si tratta di scrivere un programma intelligente, si tratta di scegliere abilmente la lingua. : /
Ingo Bürk

23
@ IngoBürk Fortunatamente questa è una gara di popolarità, non un golf.
soffice

Il falso 0 byte è anche lo stesso codice che una volta vinse il premio "Peggior abuso delle regole" da parte dell'IOCCC per aver reso il chinino teoricamente più corto. Aveva un sacco di errori del compilatore, ed era scritto in K&R C, non in ISO C (che è più rigoroso).
Isiah Meadows,

6
@ IngoBürk Anche molti problemi della vita reale riguardano la scelta intelligente della lingua. : P
Sarge Borsch,

2
@Mendeleev * Quine (Fino a poco tempo fa, ho sempre frainteso "quine" come "chinine" per qualche motivo ...)
Isiah Meadows,


81

CoffeeScript, sintatticamente valido

Come testato sul loro sito Web utilizzando Chrome o Firefox.

ReferenceError: defined is not defined

Puoi sostituirlo definedcon qualsiasi cosa che non sia una variabile incorporata, ma ho pensato che questa versione fosse divertente. Sfortunatamente, undefined is not definedin particolare non funziona come un quine.

In CoffeeScript questo non è nemmeno un errore di sintassi, perché viene compilato. Questo è tecnicamente un errore di runtime in JavaScript, anche se noioso. CoffeeScript è probabilmente un candidato per produrre alcuni quine di errori di runtime più interessanti perché molte frasi divertenti sono codice valido. Ad esempio l'esempio sopra viene compilato in

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

2
definedè per definedition defined. Cos ... come ...?
Calcolatrice

3
Undefined is not defined(con la capitale U) sembra funzionare lol
Shieru Asakoto l'

50

Pitone

Spyder

Bene, una soluzione piuttosto banale per l'IDE di Spyder è sollevare un SyntaxError.

Codice e output identico:

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 con Spyder 2.2.5)


terminale

Una soluzione alternativa per Python è partita dalle lotte della riga di comando con un rientro imprevisto.

Comando:

python golf.py

Codice e output identico:

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

ideone.com

Su ideone.com una soluzione potrebbe essere la seguente. (Provalo!)

Codice e output identico:

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

(Questo è per Python 2. Un esempio per Python 3 è banale ma con 15 righe di "codice" piuttosto lunghe.)


Approccio generale:

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!


6
Come probabilmente puoi dire, sto usando questo approccio generale. Non funziona quando il codice copiato aumenta progressivamente la quantità di errori del compilatore. :-)
rink.attendant.6

9
@ rink.attendant.6: Questo è il momento in cui è richiesta la nostra preziosa conoscenza di esperti in ingegneria software. ;)
Falko,

@ rink.attendant.6 O quando vieni espulso correndo in cerchio. Provalo nella finestra immediata di Excel-VBA.
Dennis Jaheruddin,

45
Ho fatto i passaggi 1, 2 e 3, ma non ho potuto fare il passaggio 4, il codice perl era perfettamente valido!
Rodolphito,

Ehi, che ne dici di questo nell'IDE stock in pitone, SyntaxError: invalid syntaxproduce anche la stessa cosa :)
Gurupad Mamadapur,

42

> <> - 25 byte

something smells fishy...

In Fish, qualsiasi istruzione errata genera l'errore: "qualcosa ha un odore di pesce ...". Poiché s non è un comando valido, si guasta immediatamente.


10
Si noti che il nome della lingua è> <>, che di solito è pronunciato "pesce".
Aaron,

1
Ed è davvero "Qualcosa puzza di pesce ..."
Conor O'Brien,

3
@ CᴏɴᴏʀO'Bʀɪᴇɴ Sull'interprete Python, lo è davvero something smells fishy..., ma è Something smells fishy...sull'interprete online. Dipende dall'interprete.
Addison Crump,

1
@VTCAKAVSMoACE Ah, grazie.
Conor O'Brien,


41

Windows .EXE, 248 byte

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.

No davvero. Salva come quine.txt, quindi rinomina quine.exe(o scaricalo qui ):


38

Lo spazio bianco

Innanzitutto ho pensato che fosse chiaramente impossibile. Ma in realtà è anche banale. -.-

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

Provalo.

Sì, il mio primo programma di spazi bianchi! ;)


1
Possiamo anche chiamare questo un programma di spazio bianco?
V. Courtois,

1
Si tratta di un bug dell'interprete?
user253751


29

JavaScript

Poiché browser diversi utilizzano compilatori JavaScript diversi, producono messaggi diversi. Queste sono, tuttavia, soluzioni piuttosto banali.

V8 (Chrome 36 / Node.js)

SyntaxError: Unexpected identifier

inserisci qui la descrizione dell'immagine

SpiderMonkey (Firefox 31)

SyntaxError: missing ; before statement

inserisci qui la descrizione dell'immagine

Chakra (Internet Explorer 11)

Expected ';'

inserisci qui la descrizione dell'immagine


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

2
@ConfusedMr_C È un token strano da soffocare.
SuperJedi224,

@ SuperJedi224 Sì. Almeno funziona: P
applaude il

28

Commodore 64 Basic

?SYNTAX  ERROR

Quando eseguito sull'emulatore di vostra scelta (o su un vero Commodore 64), produce

?SYNTAX  ERROR

Questo è, in effetti, un programma di una riga sintatticamente valido. Il punto interrogativo è una scorciatoia per PRINTe SYNTAXe ERRORsono nomi di variabili validi. L'errore si verifica perché il parser viene confuso dalla sottostringa ORin ERROR.


5
Se il parser si confonde e genera un errore di sintassi, non significa che lo rendono non sintatticamente valido?
Martin Ender,

4
@ MartinBüttner, che dipende davvero da quale si considera l'autorità per una "sintassi valida": la descrizione della lingua o l'implementazione della lingua.
Segna il

16
Vedo, quindi tecnicamente è sintatticamente valido ma sta facendo scattare il parser a causa di un bug di una particolare implementazione?
Martin Ender,

6
Più o meno, confusa dal fatto che ci sia una sola implementazione.
Segna il

Nitpick: CBM BASIC in realtà stampa due spazi, non uno, tra "SYNTAX" e "ERROR". Purtroppo non posso modificare questa risposta per correggerla, poiché Stack Exchange impone un minimo di 6 caratteri per le modifiche.
Psiconauta

28

Microsoft Excel

Formula: #DIV/0!

Messaggio di errore: #DIV/0!

Per inserire una formula senza utilizzare un segno di uguale, vai in Opzioni di Excel / Impostazioni di compatibilità avanzate / Lotus e abilita l'inserimento della formula di transizione.


-2 byte:#REF!
Ingegnere Toast il

19

Bash (32)

Salva come file denominato x:

x: line 1: x:: command not found

Quando eseguito:

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

19

Errore di compilazione Java 8 quine (12203 byte)

Generato su windows + mingw con java 1.8.0_11 jdk, usando questo comando:

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

Potrebbe non essere il più breve, potrebbe non essere nemmeno il più lungo, più una prova di concetto. Funziona perché l'output degli errori mostra al massimo 100 errori.

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 - Rendere PPCG di nuovo eccezionale ( TrumpScript )

Quando si tenta di eseguire questa lingua su un PC Windows, l'output è sempre:

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

Quindi, quando si esegue questo programma:

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

Non lo analizzerà nemmeno perché il controllo del sistema operativo non riesce e viene visualizzato il messaggio di errore. Esempi possono essere dati anche per Mac se qualcuno li vuole ahah. Dio, ho voluto usare questo in PPCG per un po 'di tempo, bene che finalmente riesco a farlo.

Elenco completo degli errori che possono essere generati utilizzando specifiche ambientali:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py


Risposta bonus: ArnoldC ( ArnoldC )

ArnoldC richiede una dichiarazione radice di IT'S SHOWTIME, significato main(), quindi:

WHAT THE FUCK DID I DO WRONG

Risultati nell'unico messaggio di errore in ArnoldC ...

WHAT THE FUCK DID I DO WRONG

Il che, in realtà, è ... divertente. Devi eseguirlo non verboso anche se senza tracce dello stack.


9
Queste dovrebbero essere due risposte separate.
mbomb007,


12

Julia 0.2.0

Un altro errore di sintassi è stato trovato in modo iterativo fino al raggiungimento di un punto fisso:

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

11

matematica

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

A .in Mathematica significa un punto decimale o una funzione Dot. In questo caso, .appare alla fine di un'espressione e non può essere interpretato.


inserisci qui la descrizione dell'immagine


Non pensavo fosse possibile.
ngenisi,

9

C

Ho applicato il metodo di copia ripetuta dei messaggi di errore alla fonte. Convergeva in 2 cicli. Compilato su OSX 10.9 con '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.

Nota: questa non è una risposta tanto quanto una metodologia per ottenerne una. Il risultato potrebbe cambiare a seconda del sistema operativo o della versione di cc che si sta utilizzando.

Il metodo esatto per ottenere il risultato è eseguire le istruzioni

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

ripetutamente fino a quando l'uscita smette di cambiare.


Ho riprovato. All'inizio non ha funzionato. Per farlo funzionare devi eseguire cc -c error.c 2>oute poi mv out error.c. E con la versione di cc che ho oggi ci vogliono alcune iterazioni in più.
Florian F,

Potresti voler notare che nella tua risposta, richiede una versione specifica di OSX cc; altrimenti non è valido e deve essere eliminato secondo le linee guida della community.
MD XF,

@MDXF: funziona con clang. Ecco un link a tio.run, 122 byte: tio.run/##S9ZNzknMS///Xy85PyVVryQzXy/…
G. Sliepen

8

C ++ (g ++)

Il file deve essere salvato come 1.pas.

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

4
Funziona ancora se il compilatore Pascal è installato nel sistema?
SuperJedi224,

@ SuperJedi224 Almeno l'installazione di FreePascal non aiuta. Suppongo che GNU Pascal potrebbe essere il compilatore Pascal giusto, ma non ci ho provato.
jimmy23013,

8

INTERCALL , 90 byte

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

Include una nuova riga finale alla fine. Nota che questo non è STDERR, ma è stato considerato un errore di output da molti, quindi l'ho pubblicato qui.

Questa è l '"intestazione obbligatoria":

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

Il collegamento al repository è interrotto.
connectyourcharger

@connectyourcharger Hm, sembra che non ci siano più repo.
Erik the Outgolfer,

Sì, le ricerche di Google non producono nulla tranne i repository per Intercal.
connectyourcharger

@connectyourcharger Non è necessario; ci sono solo 8 repository chiamati "intercall" (senza distinzione tra maiuscole e minuscole), e nessuno di questi riguarda il linguaggio, quindi è sicuro dire che è andato per sempre (no, non c'è niente nella Wayback Machine).
Erik the Outgolfer,

8

GHCi (un interprete / shell di Haskell)

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

Uso:

Scrivi il codice in un file chiamato Codice e carica con GHCi.

Un fatto interessante è che, se le parole fossero identificatori effettivi, questa sarebbe un'espressione legale (purché verificherebbe il typecheck). Ciò è fondamentalmente dovuto al fatto che :è un operatore integrato, .viene utilizzato per nomi qualificati per i moduli e gli spazi bianchi vengono utilizzati per indicare l'applicazione delle funzioni.


.non è un operatore qui. Fa parte di un nome qualificato. Per quale versione di GHCi è questo?
Dfeuer

@dfeuer sì, mia cattiva. Sentiti libero di ripararlo. La versione ghci è probabilmente in giro qualunque cosa fosse in circolazione al momento.
orgoglioso haskeller il

7

Ruby 2 su Windows

Codice:

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

Il codice è stato trovato testando e ripetendo ripetutamente il processo fino a raggiungere un punto fisso. Il codice deve essere all'interno del file "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 (in Script Editor)

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

inserisci qui la descrizione dell'immagine


8
è un errore?
cat

L'articolo "A" appare prima delle parole che iniziano con una consonante o un suono di consonante. Per le parole che iniziano con una vocale o un suono vocale, l'articolo corretto è "an". Sono solo pignolo :)
cat

1
@cat vedo. Sì, non ho mai rivendicato la correttezza grammaticale :)
Digital Trauma,

7

AppleScript

Un identificatore non può seguire questo identificatore.

Entrambi Ae identifierpossono essere identificatori, quindi AppleScript dice di no.

identificatori


21
dovrebbe essere un identificatore ... dai ....
cat

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.

Compila con gcc -Wfatal-errors error.c.



6

BBC Basic, 7 byte (o 0 byte)

Questa è una voce valida di 7 byte:

Mistake

Questo è il messaggio di errore prodotto dall'interprete quando non è completamente in grado di dare un senso al codice.

D'altra parte, questo non è:

ERROR

Questa è una parola chiave valida in BBC Basic che dovrebbe introdurre deliberatamente un errore di un codice specificato nel programma, ma la sintassi è errata (non viene fornito alcun codice). Pertanto restituisce Syntax error(che a sua volta restituisce Mistakequando viene eseguito.)

In generale, la procedura descritta da Falko nella sua risposta porta a MistakeBBC Basic. Ci sono alcune eccezioni. qualsiasi cosa produca errori DATA not LOCALo ON ERROR not LOCALporta al famoso quine zero byte: un codice sorgente vuoto produce un file vuoto.

Dato che la maggior parte dei messaggi di errore nella BBC di base sono in minuscolo (e quindi non parole chiave valide) sono abbastanza sicuro che qualsiasi input non valido alla fine porterà a una di queste possibilità.


5

CoffeeScript

Non riesce al primo errore, quindi è abbastanza facile da fare:

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

dimostrazione

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

E:\>

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.