Bir hata yap.


104

Zorluk: Seçtiğiniz bir dil için, derleyicinin / tercüman / çalışma zamanının , programınızın kaynak koduyla aynı olan programı derlerken / çalıştırırken hata çıktısı üretmesine neden olan bir "program" yazın.

Kurallar:

  • Programınız, dilinizin derleyici / tercüman / çalışma zamanı ortamının belirli bir sürümüne veya uygulamasına özgü olabilir. Eğer öyleyse, lütfen detayları belirtin.
  • Yalnızca standart derleyici / tercüman / çalışma zamanı seçeneklerine izin verilir. Belirli bir sonuç almak için derleyicinize bazı garip bayraklar geçemezsiniz.
  • Program gelmez değil sözdizimsel veya anlamsal geçerli olması gerekir, ancak ben en iyi sözdizimsel olarak geçerli sunulması için bir ödül verebilir.
  • Program kendi çıktısını üretmemelidir (örneğin bir baskı veya çıktı işlevini çağırarak). Programı derlemeye / çalıştırmaya çalışıldığında üretilen tüm çıktılar derleyici / tercüman / çalışma zamanından kaynaklanmalıdır.
  • Derleyici / yorumlayıcı / çalışma zamanının tam çıktısı, program kaynak kodunuzla tamamen aynı olmalıdır.
  • Derleyici / tercüman / çalışma zamanı, programınızla birlikte çağrıldığında en az bir hata mesajı oluşturmalıdır.

Bu bir popülerlik yarışması . Olumlu oylarla belirlenen en yaratıcı cevap kazanır. Standart bir boşluk kullanmak için iyi bir durum verebilirseniz , bunu yapabilirsiniz.


7
" Hata çıktısı " nedir? Ve " hata mesajı oluşturmak " ne anlama geliyor ? Daha spesifik olarak: 1) Çıkış, stderr olmak zorunda mı? 2) Çalışma zamanı syslog'a bir hata kaydediyorsa ve stderr'e bir şey yazmıyorsa, programın kaynağı ile ne karşılaştırılmalıdır? 3) Çalışma zamanı, boş bir program verildiğinde dahili olarak bir istisna atarsa, ancak istisnayı gerçekten yazdırmak için bir bayrak gerektiriyorsa ve bu yüzden sıfır olmayan bir çıkış koduyla çıkılıyorsa, ancak hiçbir hata oluşmadıysa?
Peter Taylor,

1
Java'da bunu yapmaya çalıştım ve bir p3 uyarıcısı aldım. Bu en kısa fazdı: (Q.java'dan derleme):Error: Could not find or load main class Q
SuperJedi224

2
Ha, ilk cümlede sözdizimsel bir belirsizlik nedeniyle, buradaki zorluğun normalde çıktı üretmeyen bir program üretmek olduğunu düşündüm, ancak kendi kodunu girdi olarak iletirseniz bir hata ortaya çıkarır.
Steve Bennett

2
Bir hata bildirirken, APL her zaman özelleştirilebilir bir hata adı, isteğe bağlı olarak bir hata mesajı, hataya neden olan programın adı, hatanın oluştuğu (köşeli ayraç) satır numarası, hataya neden olan kod satırı ve ayrıştırmanın nerede durduğunu belirten bir şapka ile satır. Buraya katılım için herhangi bir umut var mı?
Adám

1
@SteveBennett Neden bu zorluğu henüz yapmadınız?
Hesap MakinesiFeline

Yanıtlar:


117

Ed (1 bayt)

Şimdiye kadar diğer tüm çözümler uzun ve çirkin. Sanırım bunun nedeni çoğu hata mesajının niteliği. Ancak iyi bir hata mesajı sadeliği ile zarif. Bunun için ed'den başkasına bakma.

?

Bunu bir dosyaya kaydedin edscriptve ile çalıştırın ed < edscriptveya çalıştırın ed<<<?. Sonuç:

?

Soru işareti stderr'ye yazılır ve ed, 1 döndürür, bu yüzden bu aslında bir hata mesajıdır. Acaba Ed neden popüler değil?

Yanlış (0 bayt)

İle koş false filename. Programın kaynak kodunu (yani hiçbir şey) stderr'e yazar ve 1 döndürür. Tabii ki, yanlış bir programlama dili çağırmak sorgulanabilir ve sıfır bayt sırası orijinal değil, ama ben de ekleyebileceğimi düşündüm. Muhtemelen hata mesajı basmayan ve yanlış yerine geçebilecek bir dil için tercüman vardır.

Şimdi bu kod golf olsaydı.


12
Böyle bir dil bulmak için (uzun) esolangs listesine bakıyordum. Bu, bu mücadelenin zayıflığıdır. Akıllıca bir program yazmakla ilgili değil, zekice dili seçmekle ilgili. : /
Ingo Bürk

23
@ IngoBürk Neyse ki bu bir popülerlik yarışması, golf değil.
kabarık

0 baytlık False, aynı zamanda, bir keresinde IOCCC tarafından teorik olarak en kısa kinin yapılması için "Kuralların En Kötü Suistimali" ödülünün kazandığı kodun aynısıdır. Yine de birçok derleyici hatası vardı ve K&R C ile yazılmış, ISO C değil (daha katı).
Isiah Meadows

6
@ IngoBürk Gerçek hayattaki birçok sorun, zekice dili seçmekle de ilgilidir. : P
Sarge Borsch

2
@Mendeleev * Quine (Bir süre önce, sürekli olarak "quin" i "quinine" olarak yanlış bir şekilde yanlış yazdım ...)
Isiah Meadows


81

CoffeeScript, sözdizimsel olarak geçerli

Chrome veya Firefox kullanarak web sitelerinde test edildiği gibi .

ReferenceError: defined is not defined

Yerleşik definedbir değişken olmayan herhangi bir şeyle değiştirebilirsiniz , ancak bu sürümün eğlenceli olduğunu düşündüm. Maalesef, undefined is not definedözellikle bir kısrak olarak çalışmıyor.

CoffeeScript'te bu bile bir sözdizimi hatası değildir, çünkü derler. Bu teknik olarak sıkıcı olsa da JavaScript'te bir çalışma zamanı hatasıdır. CoffeeScript, daha ilginç bazı çalışma zamanı hata sorguları üretmeye aday bir aday çünkü çok sayıda komik cümle geçerli kod. Örneğin yukarıdaki örnek derler

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

2
defineddefinedition tarafından defined. Ne ... ne ...?
Hesap MakinesiFeline

3
Undefined is not defined(bir sermaye ile U) lol çalışıyor gibi görünüyor
Shieru Asakoto

50

piton

örümcek

Eh, Spyder IDE için oldukça önemsiz bir çözüm bir yükseltmektir SyntaxError.

Kod ve aynı çıktı:

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

(Spyder 2.2.5 ile Python 2.7.8)


terminal

Python için alternatif bir çözüm, beklenmeyen bir girintiyle komut satırı mücadelesinden başladı.

Komut:

python golf.py

Kod ve aynı çıktı:

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

ideone.com

Açık ideone.com şöyle bir çözüm olabilir. (Dene!)

Kod ve aynı çıktı:

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

(Bu Python 2 içindir. Python 3 için bir örnek önemsizdir ancak 15 satırlık "kod" oldukça uzundur.)


Genel yaklaşım:

2 dakikada kendi çözümünüzü nasıl oluşturabilirsiniz?

  1. Seçtiğiniz bir IDE'de yeni bir dosya açın.
  2. Başınızı önünüzdeki klavyeye oturtun.
  3. Derleyin.
  4. Kodu, derleyici hata mesajıyla değiştirin.
  5. Kod birleşene kadar 3. ve 4. adımları tekrarlayın.

Bahse girerim böyle bir prosedür çoğu durumda oldukça çabuk sona erer!


6
Muhtemelen söyleyebileceğiniz gibi, bu genel yaklaşımı kullanıyorum. Kopyalanan kod aşamalı olarak derleyici hatalarının miktarını arttırdığında çalışmaz. :-)
rink.attendant.6

9
@ rink.attendant.6: Yazılım mühendisliği konusundaki en değerli uzman bilgimizin gerekli olduğu zaman. ;)
Falko

@ rink.attendant.6 Veya dairelerde koşarken gönderilirken. Excel-VBA anında penceresinde deneyin.
Dennis Jaheruddin

45
Adım 1, 2 ve 3'ü yaptım, ancak 4. adımı yapamadım, perl kodu tamamen geçerliydi!
rodolphito

Hey bu nasıl python hisse senedi IDE de, SyntaxError: invalid syntaxaynı şeyi üretir :) :)
Gurupad Mamadapur

42

> <> - 25 Bayt

something smells fishy...

Balık'ta, herhangi bir hatalı komut, hatayı ortaya çıkarır: "bir şey balık kokuyor ...". S geçerli bir komut olmadığı için hemen hata veriyor.


10
Lütfen dil adının> <> olduğunu ve genellikle "balık" olduğunu belirtir.
Aaron,

1
Ve gerçekten "Bir şey balık kokuyor ..."
Conor O'Brien,

3
@ CᴏɴᴏʀO'Bʀɪᴇɴ Python yorumlayıcısında, gerçekten de öyle something smells fishy..., ancak Something smells fishy...çevrimiçi yorumlayıcıda. Tercümana bağlı.
Addison Crump

1
@VTCAKAVSMoACE Ah, teşekkürler.
Conor O'Brien,


41

Windows .EXE, 248 bayt

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.

Hayır, gerçekten. Farklı kaydet quine.txt, daha sonra yeniden adlandır quine.exe(veya buradan indir ):


38

Beyaz boşluk

İlk önce bunun açıkça imkansız olduğunu düşündüm. Ama aslında bu da önemsiz. -.-

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

Dene.

Evet, ilk boşluk programım! ;)


1
Buna bir boşluk programı bile diyebilir miyiz ?
V. Courtois

1
Bu bir tercüman hatası mı?
immibis


29

JavaScript

Farklı tarayıcılar farklı JavaScript derleyicileri kullandığından, farklı mesajlar üretir. Ancak bunlar önemsiz çözümler.

V8 (Chrome 36 / Node.js)

SyntaxError: Unexpected identifier

görüntü tanımını buraya girin

SpiderMonkey (Firefox 31)

SyntaxError: missing ; before statement

görüntü tanımını buraya girin

Çakra (Internet Explorer 11)

Expected ';'

görüntü tanımını buraya girin


İçinde jsc: Exception: SyntaxError: Unexpected identifier 'identifier'D
alkış

2
@ConfusedMr_C Boğulacak garip bir belirteç.
SuperJedi224

@ SuperJedi224 Evet. En azından işe yarıyor: P
alkış

28

Commodore 64 Basic

?SYNTAX  ERROR

Seçtiğiniz emülatörde (veya gerçek bir Commodore 64) çalıştırıldığında,

?SYNTAX  ERROR

Bu, aslında, sözdizimsel olarak geçerli olan tek satırlı bir programdır. Soru işareti için bir kısayol PRINTve SYNTAXve ERRORgeçerli değişken isimleridir. Ayrıştırıcı altkatarıyla karışır çünkü hata oluşur ORiçinde ERROR.


5
Çözümleyici karışırsa ve bir sözdizimi hatası atarsa, bu sözdizimsel olarak geçerli olmuyor mu?
Martin Ender

4
@ MartinBüttner, bu gerçekten "geçerli sözdizimi" için otoriteyi düşündüğünüze bağlıdır: dil tanımı veya dil uygulaması.
Mark

16
Görüyorum, teknik olarak sözdizimsel olarak geçerli ama belirli bir uygulamanın bir hatası nedeniyle ayrıştırıcıyı açıyor?
Martin Ender,

6
Aşağı yukarı, sadece tek bir uygulama olduğu gerçeğinden dolayı şaşkın .
Mark

Nitpick: CBM BASIC aslında "SYNTAX" ve "ERROR" arasında bir değil iki boşluk yazdırıyor. Ne yazık ki bu cevabı düzeltmek için düzenleyemiyorum, çünkü Stack Exchange düzenlemeler için aptalca 6 karakterlik bir minimum yük getiriyor.
Psychonaut

28

Microsoft Excel

Formül: #DIV/0!

Hata mesajı: #DIV/0!

Eşittir işareti kullanmadan bir formül girmek için Excel Options / Advanced / Lotus Uyumluluk Ayarları'na gidin ve Geçiş Formülü Girişini etkinleştirin.


-2 bayt:#REF!
Mühendis Tost

19

Bash (32)

İsimli dosya olarak kaydet x:

x: line 1: x:: command not found

Çalıştırıldığında:

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

19

Java 8 derleme hatası quine (12203 bayt)

Bu komutu kullanarak, java 1.8.0_11 jdk ile windows + mingw'de üretilir:

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

En kısa olan olmayabilir, en uzun olan olmayabilir, ya da bir kavram kanıtı. Hata çıktısı en fazla 100 hata gösterdiği için çalışıyor.

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


17

TrumpScript - PPCG'yi Tekrar Mükemmel Hale Getirmek ( TrumpScript )

Bu dili bir Windows PC'de çalıştırmaya çalışırken, çıktı daima:

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

Yani bu programı çalıştırırken:

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

OS denetimi başarısız olduğu için ayrıştırmaz bile ve hata mesajını alırsınız. Birileri onları haha ​​isterse Mac için de örnekler verilebilir. Tanrım, bunu bir süredir PPCG'de kullanmak istedim, nihayetinde elde ettiğim iyi.

Çevresel özellikler kullanılarak tetiklenebilecek hataların tam listesi:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py


Bonus Cevap: ArnoldC ( ArnoldC )

ArnoldC IT'S SHOWTIME, bunun anlamı için kök beyanını gerektirir main():

WHAT THE FUCK DID I DO WRONG

ArnoldC'taki tek hata mesajının sonuçları ...

WHAT THE FUCK DID I DO WRONG

Bu, aslında ... çok komik. Yığın izleri olmasa da ayrıntılı olmayan bir şekilde çalıştırmanız gerekir.


9
Bunlar iki ayrı cevap olmalıdır.
mbomb007

13

Z-makine tercümanı

I don't know the word "know".

Bu popüler tercümana karşı test edin . Ayrıca orada barındırılan çoğunlukla zararsız bir tür oyun var.


12

Julia 0.2.0

Başka bir sözdizimi hatası, sabit bir noktaya ulaşılana kadar tekrarlı olarak bulundu:

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

11

Mathematica

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

Mathematica'da A ., ondalık sayı veya fonksiyon anlamına gelir . Bu durumda, ifadenin sonunda belirir ve yorumlanamaz.Dot.


görüntü tanımını buraya girin


Bunun mümkün olduğunu düşünmedim.
ngenis,

9

C

Hata mesajlarını tekrar tekrar kaynağa kopyalama yöntemini uyguladım. 2 döngü halinde bir araya geldi. OSX 10.9'da 'cc -c error.c' ile derlendi.

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.

Not: Bu bir cevap almak için bir metodoloji olduğu kadar bir cevap değildir. Sonuç, işletim sisteminize veya kullandığınız cc sürümüne bağlı olarak değişebilir.

Sonucu elde etmenin kesin yöntemi yönergeleri uygulamaktır.

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

çıkış değişmeyi bırakana kadar art arda.


Tekrar denedim İlk başta işe yaramadı. İşe yaraması için yürütmeniz gerekir cc -c error.c 2>outve sonra mv out error.c. Ve cc sürümü ile bugün ben birkaç yineleme daha alır.
Florian F,

Cevabınızda, belirli bir OSX sürümü gerektirdiğini not etmek isteyebilirsiniz cc; Aksi takdirde geçersizdir ve topluluk kuralları uyarınca silinmelidir.
MD XF

@ MDXF: Argo ile çalışır. İşte tio.run, 122 bayt için bir link: tio.run/##S9ZNzknMS///Xy85PyVVryQzXy/…
G. Sliepen

8

C ++ (g ++)

Dosya olarak kaydedilmelidir 1.pas.

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

4
Pascal derleyicisi eğer hala çalışıyor mu olduğu sistemde yüklü?
SuperJedi224

@ SuperJedi224 En azından FreePascal'ı kurmak yardımcı olmaz. Sanırım GNU Pascal doğru Pascal derleyicisi olabilirdi ama denemedim.
jimmy23013

8

INTERCALL , 90 bayt

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

Sonunda takip eden bir yeni satır içerir. Bunun STDERR olmadığını unutmayın, ancak birçokları tarafından hata çıktısı olarak kabul edildi, bu yüzden buraya gönderdim.

Bu "zorunlu başlık" dır:

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

Depoya bağlantı koptu.
connectyourcharger

@şarj cihazını Hm, artık hiçbir repo yok gibi görünüyor.
Outgolfer Erik

Evet, Google aramaları Intercal'in depoları dışında hiçbir şey getirmiyor.
seninle şarj

@connectyourcharger Gerek yok; “intercall” (büyük küçük harf duyarlı) olarak adlandırılan sadece 8 repo var ve bunların hiçbiri dille ilgili değil, bu yüzden iyiye gittiğini söylemek güvenli (hayır, Wayback Makinesi'nde de hiçbir şey yok).
Outgolfer Erik

8

GHCi (bir Haskell tercümanı / kabuğu)

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

Kullanımı:

Kodu Code adlı bir dosyaya yazın ve GHCi ile yükleyin.

Güzel bir gerçek, eğer kelimeler gerçek tanımlayıcılar olsaydı, bu yasal bir ifade olurdu (yazarak kontrol ettiği sürece). Bu temelde :yerleşik bir operatör olması, .modül nitelikleri olan isimler için kullanılmasından ve boşluk uygulamasının işlev uygulamasını belirtmek için kullanılmasından kaynaklanmaktadır.


.burada operatör değil. Nitelikli bir adın parçası. Bu ne tür bir GHCi içindir?
dfeuer

@ dfeuer evet, benim hatam. Düzeltmek için çekinmeyin. Ghci versiyonu muhtemelen o anda ne olursa olsun etrafında.
Gurur haskeller

7

Windows'ta Ruby 2

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, bir sabitleme noktasına ulaşılana kadar süreci tekrar tekrar test ederek ve yineleyerek bulundu. Kod dosyanın içinde olmalıdır "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 (Script Editor'de)

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

görüntü tanımını buraya girin


8
bu bir hata mı?
kedi,

"A" makalesi bir ünsüz veya ünsüz bir sesle başlayan sözcüklerden önce görünür. Bir sesli harfle veya sesli harfle başlayan sözcükler için doğru makale "a" dır. Ben sadece nitpicky olmak :)
kedi

1
@ cat görüyorum. Evet, hiç gramer doğruluğu iddia etmedim :)
Digital Trauma

7

AppleScript

Bir tanımlayıcı bu tanımlayıcıdan sonra gidemez.

Her ikisi de Ave identifiertanımlayıcı olabilir, yani AppleScript hayır diyor.

tanımlayıcıları


21
bir tanımlayıcı olmalı ... hadi ....
kedi 0

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.

İle derleyin gcc -Wfatal-errors error.c.



6

BBC Basic, 7 bayt (veya 0 Bayt)

Bu geçerli bir 7 bayt girişidir:

Mistake

Bu, tercüman tarafından kodu tamamen anlayamadığında üretilen hata mesajıdır.

Öte yandan, bu değil:

ERROR

Bu, BBC Basic'te programa belirli bir kodun hatasını kasıtlı olarak girmesi beklenen geçerli bir anahtar kelimedir, ancak sözdizimi yanlıştır (kod verilmez.) Bu nedenle döner Syntax error(sıra Mistakeçalıştırıldığında döner ).

Genel olarak Falko tarafından cevabında açıklanan prosedür MistakeBBC temelini oluşturur. Bir kaç istisna var. hataları üreten DATA not LOCALveya ON ERROR not LOCALünlü sıfır byte quine yol açan herhangi bir şey : boş bir kaynak kodu boş bir dosya üretir.

BBC basic'deki çoğu hata mesajının küçük harf olduğu (ve bu nedenle geçerli anahtar kelimeler olmadığı için), herhangi bir geçersiz girişin sonuçta bu olasılıklardan birine yol açacağından eminim.


5

CoffeeScript

İlk hatada başarısız olur, bu yüzden yapılması oldukça kolaydır:

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

gösteri

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

E:\>

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.