Zrób błąd quine!

104

Twoje wyzwanie: napisz „program” dla wybranego języka, który spowoduje, że kompilator / interpreter / środowisko wykonawcze wygeneruje błąd podczas kompilacji / uruchamiania programu, który jest identyczny z kodem źródłowym programu.

Zasady:

  • Twój program może być specyficzny dla konkretnej wersji lub implementacji kompilatora / interpretera / środowiska wykonawczego Twojego języka. Jeśli tak, proszę podać dane szczegółowe.
  • Dozwolone są tylko standardowe opcje kompilatora / interpretera / środowiska wykonawczego. Nie można przekazać dziwnej flagi do kompilatora, aby uzyskać określony wynik.
  • Program nie musi być poprawny pod względem składniowym lub semantycznym, ale mogę dać nagrodę za najlepsze zgłoszenie poprawne pod względem składniowym.
  • Program nie może generować żadnych danych wyjściowych (np. Przez wywołanie funkcji drukowania lub wyjścia). Wszystkie dane wyjściowe wygenerowane podczas próby kompilacji / uruchomienia programu muszą pochodzić z kompilatora / interpretera / środowiska wykonawczego.
  • Kompletne wyjście kompilatora / interpretera / środowiska wykonawczego musi być dokładnie identyczne z kodem źródłowym programu.
  • Kompilator / interpreter / środowisko wykonawcze musi wygenerować co najmniej jeden komunikat o błędzie po wywołaniu z programem.

To konkurs popularności . Najbardziej kreatywna odpowiedź, określona przez entuzjastów, wygrywa. Jeśli możesz podać dobry argument za użyciem standardowej luki, możesz to zrobić.

nneonneo
źródło
7
Co to jest „ wyjście błędu ”? A co to znaczy „ wygenerować komunikat o błędzie ”? Mówiąc dokładniej: 1) Czy wyjście musi być zgodne ze standardem? 2) Jeśli środowisko wykonawcze rejestruje błąd w syslog i nie zapisuje niczego na stderr, co należy porównać ze źródłem programu? 3) Jeśli środowisko wykonawcze zgłosi wyjątek wewnętrznie, gdy otrzyma pusty program, ale wymaga flagi, aby faktycznie wydrukować wyjątek, a zatem kończy działanie z niezerowym kodem wyjścia, ale bez danych wyjściowych, czy został wygenerowany komunikat o błędzie?
Peter Taylor
1
Próbowałem to zrobić w Javie i otrzymałem oscylator p3. To była najkrótsza faza: (Kompilacja z q.java):Error: Could not find or load main class Q
SuperJedi224
2
Ha, z powodu dwuznaczności składniowej w pierwszym zdaniu, pomyślałem, że wyzwaniem było stworzenie programu, który normalnie nie generuje danych wyjściowych, ale jeśli przekażesz mu własny kod jako dane wejściowe, spowoduje to błąd.
Steve Bennett,
2
Podczas zgłaszania błędu APL zawsze drukuje konfigurowalną nazwę błędu, opcjonalnie komunikat o błędzie, nazwę programu, który spowodował błąd, numer wiersza (w nawiasach kwadratowych), w którym wystąpił błąd, wiersz kodu, który spowodował błąd, oraz linia ze znakiem wskazującym, gdzie zatrzymano analizowanie. Czy jest jakaś nadzieja na udział tutaj?
Adám,
1
@ SteveBennett Dlaczego jeszcze nie podjąłeś tego wyzwania?
CalculatorFeline

Odpowiedzi:

117

Ed (1 bajt)

Wszystkie dotychczasowe rozwiązania są długie i brzydkie. Przypuszczam, że wynika to z natury większości komunikatów o błędach. Ale dobry komunikat o błędzie jest elegancki w swojej prostocie. W tym celu nie szukaj dalej niż ed.

?

Zapisz to w pliku o nazwie edscripti uruchom z ed < edscriptlub uruchom ed<<<?. Wynik:

?

Znak zapytania jest zapisywany do stderr, a ed zwraca 1, więc w rzeczywistości jest to komunikat o błędzie. Zastanawiam się, dlaczego ed nie jest bardzo popularny?

Fałsz (0 bajtów)

Uruchom z false filename. Zapisuje kod źródłowy programu (tj. Nic) do stderr i zwraca 1. Oczywiście, wywołanie fałszywego języka programowania jest wątpliwe, a quine z bajtu zerowego jest nieoryginalne, ale pomyślałem, że równie dobrze mogę go dodać. Prawdopodobnie jest jakiś tłumacz dla języka, który nie drukuje komunikatów o błędach i może zastąpić fałsz.

Teraz chciałbym, żeby to był golf golfowy.

Ian D. Scott
źródło
12
Przeglądałem (długą) listę esolangów, aby znaleźć taki język. To jest słabość tego wyzwania. Nie chodzi o pisanie sprytnego programu, chodzi o sprytny wybór języka. : /
Ingo Bürk
23
@ IngoBürk Na szczęście jest to konkurs popularności, a nie golf.
puszysty
0-bajtowa Fałsz to także ten sam kod, który kiedyś zdobył nagrodę „Worst Abuse of Rules” przyznaną przez IOCCC za wykonanie teoretycznie najkrótszej chininy. Miał jednak wiele błędów kompilatora i został napisany w K&R C, a nie ISO C (co jest bardziej rygorystyczne).
Isiah Meadows
6
@ IngoBürk Wiele rzeczywistych problemów dotyczy także sprytnego wyboru języka. : P
Sarge Barszcz
2
@Mendeleev * Quine (Do niedawna ciągle źle czytałem „quine” jako „chinine” z jakiegoś powodu ...)
Isiah Meadows
119

Wiersz polecenia systemu Windows

& was unexpected at this time.

wprowadź opis zdjęcia tutaj

Danko Durbić
źródło
Zauważ, że to działa |również z .
MD XF,
5
i było w tym czasie nieoczekiwane. +1
przepływ pracy
81

CoffeeScript, poprawny składniowo

Jak przetestowano na ich stronie internetowej przy użyciu Chrome lub Firefox.

ReferenceError: defined is not defined

Możesz zastąpić definedwszystko, co nie jest wbudowaną zmienną, ale myślałem, że ta wersja jest fajna. Niestety undefined is not definedw szczególności nie działa jako quine.

W CoffeeScript nie jest to nawet błąd składniowy, ponieważ się kompiluje. Jest to technicznie błąd w środowisku wykonawczym w JavaScript, aczkolwiek nudny. CoffeeScript jest prawdopodobnie kandydatem do stworzenia bardziej interesujących zapytań o błędach w czasie wykonywania, ponieważ wiele śmiesznych zdań jest poprawnymi kodami. Np. Powyższy przykład kompiluje się do

({
  ReferenceError: defined === !defined
});
Martin Ender
źródło
2
definedjest definedRozbiórka defined. Co ... jak ...?
CalculatorFeline
3
Undefined is not defined(ze stolicą U) wydaje się działać lol
Shieru Asakoto,
50

Pyton

Spyder

Cóż, dość trywialnym rozwiązaniem dla Spyder IDE jest podniesienie SyntaxError.

Kod i identyczne wyjście:

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


Terminal

Alternatywne rozwiązanie dla Pythona rozpoczęło się od zmagań wiersza poleceń z nieoczekiwanym wcięciem.

Komenda:

python golf.py

Kod i identyczne wyjście:

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

ideone.com

Na ideone.com rozwiązanie może wyglądać następująco. (Spróbuj!)

Kod i identyczne wyjście:

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

(Dotyczy to języka Python 2. Przykład dla języka Python 3 jest trywialny, ale z 15 wierszami „kodu” dość długim.)


Ogólne podejście:

Jak stworzyć własne rozwiązanie w 2 minuty?

  1. Otwórz nowy plik w wybranym przez siebie środowisku IDE.
  2. Uderz głową w klawiaturę przed sobą.
  3. Skompilować.
  4. Zastąp kod komunikatem o błędzie kompilatora.
  5. Powtarzaj kroki 3 i 4, aż kod się zbiegnie.

Założę się, że taka procedura kończy się dość szybko w większości przypadków!

Falko
źródło
6
Jak zapewne możesz powiedzieć, stosuję to ogólne podejście. Nie działa, gdy skopiowany kod stopniowo zwiększa liczbę błędów kompilatora. :-)
rink.attendant. 6
9
@ rink.attendant.6: To wtedy potrzebna jest nasza ceniona specjalistyczna wiedza na temat inżynierii oprogramowania. ;)
Falko,
@ rink.attendant.6 Lub gdy zostaniesz wysłany w kółko. Wypróbuj w oknie programu Excel-VBA.
Dennis Jaheruddin,
45
Zrobiłem krok 1, 2 i 3, ale nie mogłem zrobić kroku 4, kod perla był całkowicie poprawny!
rodolphito,
Hej, co powiesz na IDE w magazynie Pythona, SyntaxError: invalid syntaxprodukuje to samo :) :)
Gurupad Mamadapur,
42

> <> - 25 bajtów

something smells fishy...

W Fish każda zła instrukcja generuje błąd: „coś pachnie podejrzanie ...”. Ponieważ s nie jest prawidłowym poleceniem, natychmiast popełnia błąd.

Cruncher
źródło
10
Pamiętaj, że nazwa języka to> <>, co zwykle wymawia się jako „ryba”.
Aaron
1
I to naprawdę „Coś pachnie rybą ...”
Conor O'Brien
3
@ CᴏɴᴏʀO'Bʀɪᴇɴ Na interpreterie pythonowym rzeczywiście tak jest something smells fishy..., ale Something smells fishy...na interpretatorze internetowym. To zależy od tłumacza.
Addison Crump,
1
@VTCAKAVSMoACE Ach, dzięki.
Conor O'Brien
Bo „fish” to nazwa programu / języka powłoki z lat 90. !
Nick T
41

Windows .EXE, 248 bajtów

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.

Nie naprawdę. Zapisz jako quine.txt, a następnie zmień nazwę na quine.exe(lub pobierz tutaj ):

MD XF
źródło
38

Biała przestrzeń

Najpierw pomyślałem, że jest to oczywiście niemożliwe. Ale w rzeczywistości jest to również trywialne. -.-

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

Spróbuj.

Tak, mój pierwszy program do białych znaków! ;)

Falko
źródło
1
Czy możemy nawet nazwać to programem spacji?
V. Courtois,
1
Czy to błąd tłumacza?
immibis
36

kurczak

Error on line 1: expected 'chicken'
Dennis
źródło
10
Co za osobliwy język
Albert Renshaw,
1
Link do języka nie działa.
pppery
@pppery Naprawiono. Prawdopodobnie powinienem to uzyskać na TIO.
Dennis
29

JavaScript

Ponieważ różne przeglądarki używają różnych kompilatorów JavaScript, generują różne komunikaty. Są to jednak dość trywialne rozwiązania.

V8 (Chrome 36 / Node.js)

SyntaxError: Unexpected identifier

wprowadź opis zdjęcia tutaj

SpiderMonkey (Firefox 31)

SyntaxError: missing ; before statement

wprowadź opis zdjęcia tutaj

Chakra (Internet Explorer 11)

Expected ';'

wprowadź opis zdjęcia tutaj

lodowisko. dozorca 6
źródło
W jsc: Exception: SyntaxError: Unexpected identifier 'identifier': D
klaskać
2
@ConfusedMr_C To dziwny token do uduszenia.
SuperJedi224,
@ SuperJedi224 Tak. Przynajmniej działa: P
klaśnięcie
28

Commodore 64 Basic

?SYNTAX  ERROR

Po uruchomieniu na wybranym emulatorze (lub rzeczywistym Commodore 64), produkuje

?SYNTAX  ERROR

W rzeczywistości jest to poprawny pod względem składni program jednowierszowy. Znak zapytania jest skrót PRINT, a SYNTAXi ERRORsą prawidłowymi nazwami zmiennych. Błąd występuje, ponieważ analizator składni zostaje pomylony przez podciąg ORw ERROR.

znak
źródło
5
Jeśli analizator składni zostanie zdezorientowany i zgłosi błąd składniowy, czy nie oznacza to, że nie jest poprawny pod względem składniowym?
Martin Ender
4
@ MartinBüttner, to tak naprawdę zależy od tego, który z nich uważa za „prawidłową składnię”: opis języka lub implementację języka.
Mark
16
Rozumiem, więc technicznie jest poprawny składniowo, ale wyzwala parser z powodu błędu konkretnej implementacji?
Martin Ender
6
Bardziej lub mniej uwikłane przez fakt, że tam jest tylko jedna realizacja.
Mark
Nitpick: CBM BASIC faktycznie drukuje dwie spacje, a nie jedną, między „SYNTAX” i „ERROR”. Niestety nie mogę edytować tej odpowiedzi, aby ją poprawić, ponieważ Stack Exchange narzuca głupie minimum 6 znaków do edycji.
Psychonaut,
28

Microsoft Excel

Formuła: #DIV/0!

Komunikat o błędzie: #DIV/0!

Aby wprowadzić formułę bez użycia znaku równości, przejdź do Opcje programu Excel / Zaawansowane / Ustawienia zgodności Lotus i włącz opcję Wprowadzanie formuły przejścia.

James
źródło
-2 bajty:#REF!
Inżynier Toast
19

Bash (32)

Zapisz jako plik o nazwie x:

x: line 1: x:: command not found

Po uruchomieniu:

>> bash x
x: line 1: x:: command not found
Ingo Bürk
źródło
19

Quine błędu kompilacji Java 8 (12203 bajtów)

Wygenerowano w systemie Windows + mingw z java 1.8.0_11 jdk, używając tego polecenia:

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

Może nie być najkrótszy, może też nie być najdłuższy, a raczej dowód koncepcji. Działa, ponieważ dane wyjściowe błędów pokazują maksymalnie 100 błędów.

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
Volune
źródło
17

ArnoldC

missing IT'S SHOWTIME on first line

Wklej kod do tego kompilatora .

Mama Fun Roll
źródło
32
Zabawne jest to, że IT'S SHOWTIMEtak naprawdę jest na pierwszej linii
Cyoce,
2
Powinien zrobić PR, aby to naprawić: P
Nick T
17

TrumpScript - Making PPCG Great Again ( TrumpScript )

Podczas próby uruchomienia tego języka na komputerze z systemem Windows dane wyjściowe są zawsze następujące:

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

Podczas uruchamiania tego programu:

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

Nawet go nie przeanalizuje, ponieważ sprawdzenie systemu operacyjnego kończy się niepowodzeniem i pojawia się komunikat o błędzie. Przykłady można podać także dla komputerów Mac, jeśli ktoś chce ich haha. Boże, od jakiegoś czasu chciałem tego użyć w PPCG, dobrze, że w końcu doszedłem.

Pełna lista błędów, które mogą być wywoływane za pomocą specyfikacji środowiskowych:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py


Dodatkowa odpowiedź: ArnoldC ( ArnoldC )

ArnoldC wymaga deklaracji root IT'S SHOWTIME, co oznacza main():

WHAT THE FUCK DID I DO WRONG

Powoduje wyświetlenie jedynego komunikatu o błędzie w ArnoldC ...

WHAT THE FUCK DID I DO WRONG

Co jest właściwie ... przezabawne. Musisz uruchomić go w trybie nieokreślonym, chociaż bez śladów stosu.

Urna Magicznej Ośmiornicy
źródło
9
Powinny to być dwie osobne odpowiedzi.
mbomb007,
13

Interpretator maszyny Z.

I don't know the word "know".

Przetestuj przeciwko temu popularnemu tłumaczowi . Jest tam także hostowana gra, która jest w większości nieszkodliwa.

znak
źródło
12

Julia 0.2.0

Inny błąd składniowy został znaleziony iteracyjnie do momentu osiągnięcia stałego punktu:

ERROR: syntax: extra token "token" after end of expression
Martin Ender
źródło
11

Matematyka

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

A .w Mathematica oznacza przecinek dziesiętny lub funkcję Dot. W takim przypadku .pojawia się na końcu wyrażenia i nie można go interpretować.


wprowadź opis zdjęcia tutaj

njpipeorgan
źródło
Nie sądziłem, że to możliwe.
ngenisis
9

do

Zastosowałem metodę wielokrotnego kopiowania komunikatów o błędach do źródła. Zbiegło się w 2 cyklach. Kompilowany na OSX 10.9 z „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.

Uwaga: To nie tyle odpowiedź, ile metodologia jej uzyskania. Wynik może ulec zmianie w zależności od systemu operacyjnego lub wersji używanego DW.

Dokładną metodą uzyskania wyniku jest wykonanie instrukcji

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

kilkakrotnie, aż wyjście przestanie się zmieniać.

Florian F.
źródło
Spróbowałem. Na początku nie działało. Aby to zadziałało, musisz wykonać, cc -c error.c 2>outa następnie mv out error.c. I z wersją cc, którą mam dzisiaj, potrzeba jeszcze kilku iteracji.
Florian F
Warto zauważyć, że w odpowiedzi wymaga określonej wersji OSX cc; w przeciwnym razie jest nieprawidłowy i musi zostać usunięty zgodnie z wytycznymi dla społeczności.
MD XF,
@MDXF: Działa z clang. Oto link do tio.run, 122 bajtów: tio.run
G. Sliepen
8

C ++ (g ++)

Plik musi zostać zapisany jako 1.pas.

g++: error: 1.pas: Pascal compiler not installed on this system
jimmy23013
źródło
4
Czy to nadal działa, jeśli kompilator Pascal jest zainstalowany w systemie?
SuperJedi224,
@ SuperJedi224 Przynajmniej instalacja FreePascal nie pomaga. Podejrzewam, że GNU Pascal może być właściwym kompilatorem Pascal, ale nie próbowałem.
jimmy23013
8

INTERCALL , 90 bajtów

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

Zawiera końcowy znak nowej linii na końcu. Zauważ, że to nie jest STDERR, ale wielu uważało to za błąd, więc opublikowałem go tutaj.

To jest „obowiązkowy nagłówek”:

INTERCALL IS A ANTIGOLFING LANGUAGE
SO THIS HEADER IS HERE TO PREVENT GOLFING IN INTERCALL
THE PROGRAM STARTS HERE:
Erik the Outgolfer
źródło
Link do repozytorium jest uszkodzony.
connectyourcharger
@connectyourcharger Hm, wygląda na to, że nie ma już repo.
Erik the Outgolfer
Tak, wyszukiwania Google nie przynoszą nic poza repozytoriami dla Intercal.
connectyourcharger
@connectyourcharger Nie ma potrzeby; istnieje tylko 8 repozytoriów zwanych „intercall” (bez rozróżniania wielkości liter) i żadne z nich nie dotyczy języka, więc można śmiało powiedzieć, że zniknęło na dobre (nie, w Wayback Machine też nie ma nic).
Erik the Outgolfer
8

GHCi (interpreter / shell Haskella)

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

Stosowanie:

Wpisz kod do pliku o nazwie Code i załaduj za pomocą GHCi.

Dobrym faktem jest to, że gdyby słowa były rzeczywistymi identyfikatorami, byłoby to wyrażenie prawne (o ile sprawdzałoby typ). Wynika to głównie z faktu, że :jest wbudowanym operatorem, .służy do nazw kwalifikowanych do modułów, a białe znaki są używane do oznaczania aplikacji funkcji.

dumny haskeller
źródło
.nie ma tutaj operatora. To część kwalifikowanej nazwy. Dla jakiej wersji GHCi to jest?
dfeuer
@dfeuer tak, mój zły. Możesz to naprawić. Wersja ghci prawdopodobnie dotyczy tego, co było wtedy.
dumny haskeller
7

Ruby 2 w systemie Windows

Kod:

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

Kod został znaleziony przez testowanie i powtarzanie procesu w kółko, aż do osiągnięcia punktu stałego. Kod musi znajdować się w pliku "error.rb".

Próbny:

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...
          ^
Howard
źródło
7

Applescript (w edytorze skryptów)

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

wprowadź opis zdjęcia tutaj

Cyfrowa trauma
źródło
8
to błąd?
kot
Artykuł „A” pojawia się przed słowami rozpoczynającymi się od spółgłoski lub dźwięku spółgłoski. W przypadku słów rozpoczynających się samogłoską lub dźwiękiem samogłoski poprawnym artykułem jest „an”. Jestem po prostu nikczemny :)
kot
1
@ kot Widzę. Tak, nigdy nie twierdziłem, że poprawność gramatyczna :)
Cyfrowa trauma
7

AppleScript

Identyfikator nie może podążać za tym identyfikatorem.

Zarówno Ai identifiermoże być identyfikatory, więc AppleScript mówi nie.

identyfikatory

Addison Crump
źródło
21
powinno być identyfikator ... chodź ....
kot
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.

Kompiluj z gcc -Wfatal-errors error.c.

BenjiWiebe
źródło
6

BBC Basic, 7 bajtów (lub 0 bajtów)

To jest poprawny 7-bajtowy wpis:

Mistake

Jest to komunikat o błędzie generowany przez tłumacza, gdy nie jest on w stanie zrozumieć kodu.

Z drugiej strony nie jest to:

ERROR

Jest to poprawne słowo kluczowe w BBC Basic, które ma celowo wprowadzić błąd określonego kodu do programu, ale składnia jest niepoprawna (nie podano kodu). Dlatego zwraca Syntax error(co z kolei zwracaMistake po uruchomieniu).

Ogólnie procedura opisana przez Falko w jego odpowiedzi prowadzi do MistakeBBC basic. Jest kilka wyjątków. cokolwiek, co powoduje błędy DATA not LOCALlubON ERROR not LOCAL prowadzi do słynnej zera bajtów zero-bajtowych: pusty kod źródłowy tworzy pusty plik.

Biorąc pod uwagę, że większość komunikatów o błędach w BBC basic składa się z małych liter (i dlatego nie są poprawnymi słowami kluczowymi), jestem prawie pewien, że każde nieprawidłowe wejście ostatecznie doprowadzi do jednej z tych możliwości.

Level River St
źródło
5

CoffeeScript

Błąd pierwszego błędu, więc jest to dość łatwe:

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

Próbny

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

E:\>
lodowisko. dozorca 6
źródło
5

Naprzód

Wypróbuj tutaj

To było zaskakująco łatwe do wymyślenia.

a : error(-13): word not found
mbomb007
źródło