Faça um erro quine!


104

Seu desafio: escreva um "programa", para um idioma de sua escolha, que faça com que o compilador / intérprete / tempo de execução produza uma saída de erro ao compilar / executar seu programa, idêntico ao código-fonte do seu programa.

Regras:

  • Seu programa pode ser específico para uma versão ou implementação específica do ambiente de compilação / intérprete / tempo de execução do seu idioma. Em caso afirmativo, especifique os detalhes.
  • Somente opções padrão de compilador / intérprete / tempo de execução são permitidas. Você não pode passar algum sinalizador estranho para o seu compilador para obter um resultado específico.
  • O programa não precisa ser válido sintaticamente ou semanticamente, mas posso oferecer uma recompensa ao melhor envio sintaticamente válido.
  • O programa não deve produzir nenhuma saída própria (por exemplo, chamando uma função de impressão ou saída). Toda saída gerada ao tentar compilar / executar o programa deve ser originária do compilador / intérprete / tempo de execução.
  • A saída completa do compilador / intérprete / tempo de execução deve ser exatamente idêntica ao código-fonte do programa.
  • O compilador / intérprete / tempo de execução deve gerar pelo menos uma mensagem de erro quando chamado com o seu programa.

Este é um concurso de popularidade . A resposta mais criativa, conforme determinado pelos votos positivos, vence. Se você pode dar um bom argumento para usar uma brecha padrão, pode fazê-lo.


7
O que é " saída de erro "? E o que significa " gerar uma mensagem de erro "? Mais especificamente: 1) A saída precisa ser stderr? 2) Se o tempo de execução registrar um erro no syslog e não gravar nada no stderr, o que deve ser comparado à fonte do programa? 3) Se o tempo de execução lança uma exceção internamente quando recebe um programa vazio, mas exige que um sinalizador imprima a exceção e acaba saindo com um código de saída diferente de zero, mas sem saída, uma mensagem de erro foi gerada?
Peter Taylor

1
Eu tentei fazer isso em java e tenho um oscilador p3. Esta foi a fase mais curta: (Compilar a partir de q.java):Error: Could not find or load main class Q
SuperJedi224

2
Ah, por causa de uma ambiguidade sintática na primeira frase, pensei que o desafio aqui era produzir um programa que normalmente não produz saída, mas se você passar seu próprio código como entrada, isso produzirá um erro.
21417 Steve

2
Ao relatar um erro, a APL sempre imprime um nome de erro personalizável, opcionalmente uma mensagem de erro, o nome do programa que causou o erro, o número da linha (entre colchetes) em que o erro ocorreu, a linha de código que causou o erro e uma alinhar com um sinal de intercalação indicando onde a análise parou. Alguma esperança de participação aqui?
Adám

1
@SteveBennett Por que você ainda não fez esse desafio?
CalculatorFeline

Respostas:


117

Ed (1 byte)

Todas as outras soluções até agora são longas e feias. Suponho que seja por causa da natureza da maioria das mensagens de erro. Mas uma boa mensagem de erro é elegante em sua simplicidade. Para isso, não procure mais do que ed.

?

Salve isso em um arquivo chamado edscripte execute ed < edscriptou execute ed<<<?. O resultado:

?

O ponto de interrogação é gravado em stderr e ed retorna 1, portanto, essa é realmente uma mensagem de erro. Eu me pergunto por que ed não é muito popular?

Falso (0 bytes)

Corra com false filename. Ele grava o código-fonte do programa (ou seja, nada) no stderr e retorna 1. É claro que chamar uma linguagem de programação falsa é questionável, e o quine de zero byte não é original, mas achei que poderia adicioná-lo. Provavelmente existe algum intérprete para um idioma que não imprime mensagens de erro e possa substituir falso.

Agora eu queria que isso fosse código de golfe.


12
Eu estava olhando a (longa) lista de esolangs para encontrar um idioma como este. Esta é a fraqueza deste desafio. Não se trata de escrever um programa inteligente, mas de escolher o idioma de maneira inteligente. : /
Ingo Bürk

23
@ IngoBürk Felizmente, este é um concurso de popularidade, não um golfe.
fofo

O Falso de 0 byte também é o mesmo código que ganhou o prêmio "Pior Abuso das Regras" do IOCCC por tornar o quinino teoricamente mais curto. Porém, havia muitos erros de compilador e estava escrito em K&R C, não em ISO C (que é mais rigoroso).
Isiah Meadows

6
@ IngoBürk Muitos problemas da vida real também envolvem a escolha inteligente do idioma. : P
Sarge Borsch

2
@Mendeleev * Quine (Até um pouco recentemente, eu constantemente mal interpretado "Quine" como "quinino" por alguma razão ...)
Isiah Meadows


81

CoffeeScript, sintaticamente válido

Como testado em seu site usando o Chrome ou Firefox.

ReferenceError: defined is not defined

Você pode substituir definedpor qualquer coisa que não seja uma variável interna, mas achei que esta versão era divertida. Infelizmente, undefined is not definedem particular, não funciona como uma solução.

No CoffeeScript, isso nem é um erro de sintaxe, porque é compilado. Tecnicamente, esse é um erro de tempo de execução no JavaScript, embora seja chato. O CoffeeScript é um candidato provável a produzir alguns quines de erro em tempo de execução mais interessantes, porque muitas frases engraçadas são códigos válidos. Por exemplo, o exemplo acima compila para

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

2
definedé por definedition defined. O que ... como ...?
CalculatorFeline

3
Undefined is not defined(com um capital U) parece funcionar lol
Shieru Asakoto

50

Pitão

Spyder

Bem, uma solução bastante trivial para o Spyder IDE é aumentar a SyntaxError.

Código e saída idêntica:

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


terminal

Uma solução alternativa para Python partiu de lutas na linha de comando com um recuo inesperado.

Comando:

python golf.py

Código e saída idêntica:

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

ideone.com

No ideone.com, uma solução pode ser a seguinte. (Tente!)

Código e saída idêntica:

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

(Isto é para o Python 2. Um exemplo para o Python 3 é trivial, mas com 15 linhas de "código" bastante longas.)


Abordagem geral:

Como criar sua própria solução em 2 minutos?

  1. Abra um novo arquivo em um IDE de sua escolha.
  2. Bata a cabeça no teclado à sua frente.
  3. Compilar.
  4. Substitua o código pela mensagem de erro do compilador.
  5. Repita as etapas 3 e 4 até o código convergir.

Aposto que esse procedimento termina muito rapidamente na maioria dos casos!


6
Como você provavelmente pode perceber, estou usando essa abordagem geral. Não funciona quando o código copiado aumenta progressivamente a quantidade de erros do compilador. :-)
rink.attendant.6

9
@ rink.attendant.6: É quando nosso conhecimento especializado muito valioso sobre engenharia de software é necessário. ;)
Falko

@ rink.attendant.6 Ou quando você é enviado correndo em círculos. Experimente na janela imediata do Excel-VBA.
Dennis Jaheruddin

45
Eu executei as etapas 1, 2 e 3, mas não consegui executar a etapa 4, o código perl era perfeitamente válido!
Rodolphito

Hey como sobre este no estoque de python IDE, SyntaxError: invalid syntaxproduz a mesma coisa também :)
Gurupad Mamadapur

42

> <> - 25 bytes

something smells fishy...

No Fish, qualquer instrução incorreta gera o erro: "algo cheira a peixe ...". Como s não é um comando válido, ele erros imediatamente.


10
Observe que o nome do idioma é> <>, que geralmente é pronunciado "peixe".
Aaron

1
E é realmente "Algo cheira bem ..."
Conor O'Brien

3
@ CᴏɴᴏʀO'Bʀɪᴇɴ No interpretador python, é verdade something smells fishy..., mas está Something smells fishy...no intérprete online. Depende do intérprete.
Addison Crump

1
@VTCAKAVSMoACE Ah, obrigado.
Conor O'Brien

Porque peixe é o nome do programa / idioma do shell para os anos 90 !
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.

Não mesmo. Salve como quine.txte renomeie para quine.exe(ou faça o download aqui ):


38

Espaço em branco

Primeiro, pensei que isso fosse claramente impossível. Mas, na verdade, é trivial também. -.-

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

Tente.

Sim, meu primeiro programa de espaço em branco! ;)


1
Podemos chamar isso de um programa de espaço em branco?
V. Courtois

1
Isso é um erro de intérprete?
user253751 27/08


29

Javascript

Como navegadores diferentes usam compiladores JavaScript diferentes, eles produzem mensagens diferentes. Essas são, no entanto, soluções bastante triviais.

V8 (Chrome 36 / Node.js)

SyntaxError: Unexpected identifier

insira a descrição da imagem aqui

SpiderMonkey (Firefox 31)

SyntaxError: missing ; before statement

insira a descrição da imagem aqui

Chakra (Internet Explorer 11)

Expected ';'

insira a descrição da imagem aqui


Em jsc:: Exception: SyntaxError: Unexpected identifier 'identifier'D
aplaude

2
@ConfusedMr_C Esse é um símbolo estranho para se engasgar.
precisa saber é o seguinte

@ SuperJedi224 Sim. Pelo menos ele funciona: P
clap

28

Commodore 64 Basic

?SYNTAX  ERROR

Quando executado no emulador de sua escolha (ou em um Commodore 64 real), produz

?SYNTAX  ERROR

Este é, de fato, um programa de uma linha sintaticamente válido. O ponto de interrogação é um atalho para PRINT, e SYNTAXe ERRORsão nomes de variáveis válidos. O erro ocorre porque o analisador fica confuso pela substring ORem ERROR.


5
Se o analisador fica confuso e lança um erro de sintaxe, não que o tornam não sintaticamente válido?
Martin Ender

4
@ MartinBüttner, isso realmente depende de qual você considera a autoridade para "sintaxe válida": a descrição do idioma ou a implementação do idioma.
Mark

16
Entendo, tecnicamente é sintaticamente válido, mas está desativando o analisador devido a um bug de uma implementação específica?
Martin Ender

6
Mais ou menos, confundido pelo fato de que não é apenas uma implementação.
Mark

Nitpick: CBM BASIC realmente imprime dois espaços, não um, entre "SYNTAX" e "ERROR". Infelizmente, não consigo editar esta resposta para corrigi-la, pois o Stack Exchange impõe um mínimo bobo de 6 caracteres para edições.
Psiconauta

28

Microsoft Excel

Fórmula: #DIV/0!

Mensagem de erro: #DIV/0!

Para inserir uma fórmula sem usar um sinal de igual, acesse Opções do Excel / Avançado / Configurações de compatibilidade do Lotus e ative a Entrada da fórmula de transição.


-2 bytes:#REF!
Engineer Toast

19

Bash (32)

Salvar como arquivo nomeado x:

x: line 1: x:: command not found

Quando executado:

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

19

Quine de erro de compilação Java 8 (12203 bytes)

Gerado no windows + mingw com java 1.8.0_11 jdk, usando este 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

Pode não ser o mais curto, também não pode ser o mais longo, mais uma prova de conceito. Funciona porque a saída de erro mostra no máximo 100 erros.

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 - Tornando o PPCG ótimo novamente ( TrumpScript )

Ao tentar executar esse idioma em um PC com Windows, a saída é sempre:

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

Então, ao executar este programa:

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

Ele nem será analisado porque a verificação do SO falha e você recebe a mensagem de erro. Exemplos também podem ser dados para o Mac, se alguém quiser, haha. Deus, eu queria usar isso no PPCG por um tempo agora, bom que finalmente cheguei.

Lista completa de erros que podem ser acionados usando detalhes ambientais:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py


Resposta de bônus: ArnoldC ( ArnoldC )

ArnoldC requer declaração raiz de IT'S SHOWTIME, significado main(), portanto:

WHAT THE FUCK DID I DO WRONG

Resultados na única mensagem de erro em ArnoldC ...

WHAT THE FUCK DID I DO WRONG

O que é realmente ... hilário. Você deve executá-lo de forma não detalhada, sem rastreamento de pilha.


9
Essas devem ser duas respostas separadas.
mbomb007


12

Julia 0.2.0

Outro erro de sintaxe foi encontrado iterativamente até que um ponto fixo fosse alcançado:

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

11

Mathematica

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

A .no Mathematica significa um ponto decimal ou função Dot. Nesse caso, o .aparece no final de uma expressão e não pode ser interpretado.


insira a descrição da imagem aqui


Não achei que fosse possível.
Ngenisis

9

C

Eu apliquei o método de copiar repetidamente as mensagens de erro na fonte. Convergiu em 2 ciclos. Compilado no OSX 10.9 com '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: Esta não é uma resposta, é uma metodologia para obter uma. O resultado pode mudar dependendo do seu sistema operacional ou da versão do cc que você está usando.

O método exato para obter o resultado é executar as instruções

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

repetidamente até que a saída pare de mudar.


Eu tentei novamente. Não funcionou no começo. Para fazê-lo funcionar, você deve executar cc -c error.c 2>oute depois mv out error.c. E com a versão do cc que tenho hoje, são necessárias mais algumas iterações.
Florian F

Você pode notar que, na sua resposta, isso requer uma versão específica do OSX cc; caso contrário, é inválido e deve ser excluído de acordo com as diretrizes da comunidade.
MD XF

@ MDXF: Funciona com clang. Aqui está um link para tio.run, 122 bytes: tio.run/##S9ZNzknMS///Xy85PyVVryQzXy/…
G. Sliepen

8

C ++ (g ++)

O arquivo deve ser salvo como 1.pas.

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

4
Ainda funciona se o compilador Pascal estiver instalado no sistema?
precisa saber é o seguinte

@ SuperJedi224 Pelo menos a instalação do FreePascal não ajuda. Suponho que o GNU Pascal possa ser o compilador Pascal certo, mas não tentei.
precisa saber é o seguinte

8

INTERCALL , 90 bytes

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

Inclui uma nova linha à direita no final. Observe que este não é o STDERR, mas foi considerado um erro de saída por muitos, então eu o publiquei aqui.

Este é o "cabeçalho obrigatório":

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

O link para o repo está quebrado.
connectyourcharger

@connectyourcharger Hm, parece que não há mais repo.
Erik the Outgolfer

Sim, as pesquisas do Google não produzem nada, exceto repositórios para o Intercal.
connectyourcharger

@connectyourcharger Não há necessidade; existem apenas 8 repositórios chamados "intercall" (sem distinção entre maiúsculas e minúsculas), e nenhum deles é sobre o idioma; portanto, é seguro dizer que ele se foi para sempre (não, também não há nada no Wayback Machine).
Erik the Outgolfer

8

GHCi (intérprete / shell Haskell)

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

Uso:

Escreva o código em um arquivo chamado Code e carregue com o GHCi.

Um fato interessante é que, se as palavras fossem identificadores reais, isso seria uma expressão legal (contanto que fosse checar). Isso se deve basicamente ao fato de :ser um operador interno, .usado para nomes qualificados pelo módulo e espaços em branco para indicar o aplicativo de funções.


.não é um operador aqui. Faz parte de um nome qualificado. Qual é a versão do GHCi?
dfeuer 19/03

@ Dfeuer sim, meu mal. Sinta-se livre para corrigi-lo. A versão ghci provavelmente está em torno do que estava disponível no momento.
proud haskeller 19/03

7

Ruby 2 no Windows

Código:

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

O código foi encontrado testando e repetindo o processo repetidamente até que um ponto de correção fosse alcançado. O código deve estar dentro do arquivo "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 (no Editor de scripts)

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

insira a descrição da imagem aqui


8
é um erro?
Cat

O artigo "A" aparece antes das palavras que começam com um som consoante ou consoante. Para palavras que começam com uma vogal ou um som de vogal, o artigo correto é "an". Eu só estou sendo nitpicky :)
cat

1
@cat eu vejo. Sim, eu nunca reivindicou correção gramatical :)
Trauma Digital

7

AppleScript

Um identificador não pode seguir esse identificador.

Ambos Ae identifierpodem ser identificadores, então o AppleScript diz que não.

identificadores


21
deve ser um identificador ... vamos lá ....
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.

Compile com gcc -Wfatal-errors error.c.



6

BBC Basic, 7 bytes (ou 0 bytes)

Esta é uma entrada válida de 7 bytes:

Mistake

Essa é a mensagem de erro produzida pelo intérprete quando ele é completamente incapaz de entender o código.

Por outro lado, isso não é:

ERROR

Esta é uma palavra-chave válida no BBC Basic, que deve introduzir deliberadamente um erro de um código especificado no programa, mas a sintaxe está errada (nenhum código é fornecido.) Portanto, ele retorna Syntax error(que por sua vez retorna Mistakequando é executado).

Em geral, o procedimento descrito por Falko em sua resposta leva à MistakeBBC básica. Há poucas exceções. qualquer coisa que produza os erros DATA not LOCALouON ERROR not LOCAL leve ao famoso zero byte quine: um código-fonte vazio produz um arquivo vazio.

Dado que a maioria das mensagens de erro no básico da BBC são minúsculas (e, portanto, não são palavras-chave válidas), tenho certeza de que qualquer entrada inválida acabará por levar a uma dessas possibilidades.


5

CoffeeScript

Falha no primeiro erro, por isso é bastante fácil de fazer:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.