Buat quine kesalahan!


104

Tantangan Anda: tulis "program", untuk bahasa pilihan Anda, yang menyebabkan kompiler / juru bahasa / runtime untuk menghasilkan output kesalahan saat mengkompilasi / menjalankan program Anda yang identik dengan kode sumber program Anda.

Aturan:

  • Program Anda mungkin khusus untuk versi tertentu atau implementasi lingkungan kompiler / juru bahasa / runtime bahasa Anda. Jika demikian, harap jelaskan keterangannya.
  • Hanya opsi kompiler / interpreter / runtime standar yang diizinkan. Anda tidak dapat mengirimkan beberapa flag aneh ke kompiler Anda untuk mendapatkan hasil yang spesifik.
  • Program tidak perlu valid secara sintaksis atau semantik, tetapi saya dapat memberikan hadiah untuk pengajuan yang valid secara sintaksis terbaik.
  • Program tidak boleh menghasilkan output sendiri (misalnya dengan memanggil fungsi cetak atau output). Semua output yang dihasilkan saat mencoba mengkompilasi / menjalankan program harus berasal dari kompiler / interpreter / runtime.
  • Output lengkap dari compiler / interpreter / runtime harus persis sama dengan kode sumber program Anda.
  • Compiler / interpreter / runtime harus menghasilkan setidaknya satu pesan kesalahan ketika dipanggil dengan program Anda.

Ini adalah kontes popularitas . Sebagian besar jawaban kreatif, sebagaimana ditentukan oleh upvotes, menang. Jika Anda dapat memberikan kasus yang baik untuk menggunakan celah standar, Anda dapat melakukannya.


7
Apa itu " output kesalahan "? Dan apa artinya " menghasilkan pesan kesalahan "? Lebih khusus: 1) Apakah output harus ke stderr? 2) Jika runtime mencatat kesalahan pada syslog dan tidak menulis apa pun ke stderr, apa yang harus dibandingkan dengan sumber program? 3) Jika runtime melempar eksepsi secara internal ketika diberikan program kosong, tetapi membutuhkan flag untuk benar-benar mencetak eksepsi dan akhirnya keluar dengan kode keluar bukan nol tetapi tidak ada output, apakah pesan kesalahan telah dihasilkan?
Peter Taylor

1
Saya mencoba melakukan ini di java dan mendapat osilator p3. Ini adalah fase terpendek: (Kompilasi dari q.java):Error: Could not find or load main class Q
SuperJedi224

2
Ha, karena ambiguitas sintaksis dalam kalimat pertama, saya pikir tantangannya di sini adalah untuk menghasilkan program yang biasanya tidak menghasilkan output, tetapi jika Anda memberikan kode sendiri sebagai input, itu menghasilkan kesalahan.
Steve Bennett

2
Saat melaporkan kesalahan, APL selalu mencetak nama kesalahan yang dapat disesuaikan, opsional pesan kesalahan, nama program yang menyebabkan kesalahan, nomor baris (kurung) di mana kesalahan terjadi, baris kode yang menyebabkan kesalahan, dan garis dengan tanda tanda yang menunjukkan di mana parsing berhenti. Adakah harapan untuk berpartisipasi di sini?
Adám

1
@SteveBennett Mengapa Anda belum membuat tantangan itu?
CalculatorFeline

Jawaban:


117

Ed (1 byte)

Semua solusi lain sejauh ini panjang dan jelek. Saya kira itu karena sifat sebagian besar pesan kesalahan. Tetapi pesan kesalahan yang baik elegan dalam kesederhanaannya. Untuk itu, lihat tidak lebih dari ed.

?

Simpan ini ke file yang dipanggil edscriptdan jalankan dengan ed < edscript, atau jalankan ed<<<?. Hasil:

?

Tanda tanya ditulis ke stderr dan ed menghasilkan 1, jadi ini sebenarnya adalah pesan kesalahan. Saya ingin tahu mengapa ed tidak begitu populer?

Salah (0 byte)

Jalankan dengan false filename. Itu menulis kode sumber program (yaitu tidak ada) ke stderr dan mengembalikan 1. Tentu saja, memanggil false bahasa pemrograman dipertanyakan, dan quine byte nol tidak orisinal, tapi saya pikir saya mungkin juga menambahkannya. Mungkin ada beberapa juru bahasa untuk bahasa yang tidak mencetak pesan kesalahan, dan bisa menggantikan yang salah.

Sekarang saya berharap ini kode golf.


12
Saya mencari-cari daftar panjang untuk menemukan bahasa seperti ini. Inilah kelemahan dari tantangan ini. Ini bukan tentang menulis program yang pintar, ini tentang memilih bahasa secara cerdik. : /
Ingo Bürk

23
@ IngoBürk Untungnya ini adalah kontes popularitas, bukan golf.
lembut

0-byte False juga merupakan kode yang sama yang pada suatu waktu memenangkan penghargaan "Penyalahgunaan Aturan Terburuk" oleh IOCCC karena membuat kina terpendek secara teoritis. Itu memiliki banyak kesalahan kompiler, dan itu ditulis dalam K&R C, bukan ISO C (yang lebih ketat).
Isiah Meadows

6
@ IngoBürk Banyak masalah dalam kehidupan nyata adalah tentang memilih bahasa secara cerdik juga. : P
Sarge Borsch

2
@Mendeleev * Quine (Sampai agak baru-baru ini, saya selalu salah membaca "quine" sebagai "quinine" karena beberapa alasan ...)
Isiah Meadows


81

CoffeeScript, secara sintaksis valid

Seperti yang diuji di situs web mereka menggunakan Chrome atau Firefox.

ReferenceError: defined is not defined

Anda dapat mengganti defineddengan apa pun yang bukan variabel bawaan, tapi saya pikir versi ini menyenangkan. Sayangnya, undefined is not definedkhususnya tidak berfungsi sebagai quine.

Dalam CoffeeScript ini bahkan bukan kesalahan sintaksis, karena mengkompilasi. Ini secara teknis merupakan kesalahan runtime dalam JavaScript, meskipun membosankan. CoffeeScript adalah kandidat yang potensial untuk menghasilkan beberapa quine error runtime yang lebih menarik karena banyak kalimat lucu adalah kode yang valid. Misalnya contoh di atas mengkompilasi ke

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

2
definedadalah dengan definedition defined. Apa ... bagaimana ...?
CalculatorFeline

3
Undefined is not defined(dengan modal besar U) tampaknya berhasil lol
Shieru Asakoto

50

Python

laba laba

Nah, solusi yang agak sepele untuk Spyder IDE adalah meningkatkan SyntaxError.

Kode dan output identik:

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


Terminal

Solusi alternatif untuk Python dimulai dari perjuangan baris perintah dengan indentasi yang tidak terduga.

Perintah:

python golf.py

Kode dan output identik:

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

ideone.com

Di ideone.com solusinya adalah sebagai berikut. (Cobalah!)

Kode dan output identik:

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

(Ini untuk Python 2. Contoh untuk Python 3 adalah sepele tetapi dengan 15 baris "kode" agak panjang.)


Pendekatan umum:

Bagaimana cara membuat solusi Anda sendiri dalam 2 menit?

  1. Buka file baru dalam IDE pilihan Anda.
  2. Taburkan kepala Anda ke keyboard di depan Anda.
  3. Menyusun.
  4. Ganti kode dengan pesan kesalahan kompiler.
  5. Ulangi langkah 3 dan 4 hingga kode terkonvergensi.

Saya yakin prosedur seperti ini akan berakhir dengan cepat dalam banyak kasus!


6
Seperti yang mungkin Anda tahu, saya menggunakan pendekatan umum itu. Ini tidak berfungsi ketika kode yang disalin semakin meningkatkan jumlah kesalahan kompiler. :-)
rink.attendant.6

9
@ rink.attendant.6: Saat itulah diperlukan pengetahuan ahli kami yang sangat berharga tentang rekayasa perangkat lunak. ;)
Falko

@ rink.attendant.6 Atau ketika Anda dikirim untuk berjalan dalam lingkaran. Cobalah di jendela langsung Excel-VBA.
Dennis Jaheruddin

45
Saya melakukan langkah 1, 2, dan 3, tetapi saya tidak bisa melakukan langkah 4, kode perl itu benar-benar valid!
rodolphito

Hei bagaimana dengan ini dalam IDE python stock, SyntaxError: invalid syntaxmenghasilkan hal yang sama juga :)
Gurupad Mamadapur

42

> <> - 25 Bytes

something smells fishy...

Dalam Fish, instruksi yang salah menghasilkan kesalahan: "sesuatu berbau amis ...". Karena s bukan perintah yang valid, s langsung salah.


10
Harap perhatikan bahwa nama bahasanya adalah> <>, yang biasanya diucapkan "ikan".
Aaron

1
Dan itu benar-benar "Sesuatu berbau amis ..."
Conor O'Brien

3
@ CᴏɴᴏʀO'Bʀɪᴇɴ Pada interpreter python, memang something smells fishy..., tetapi ada Something smells fishy...pada interpreter online. Tergantung pada penerjemahnya.
Addison Crump

1
@ VTCAKAVSMoACE Ah, terima kasih.
Conor O'Brien


41

Windows .EXE, 248 byte

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

Tidak benar-benar. Simpan sebagai quine.txt, lalu ganti nama menjadi quine.exe(atau unduh di sini ):


38

Ruang putih

Pertama saya pikir ini jelas mustahil. Tapi sebenarnya itu juga sepele. -.-

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

Cobalah.

Ya, program spasi putih pertama saya! ;)


1
Bisakah kita bahkan menyebutnya ini program spasi?
V. Courtois

1
Apakah ini bug juru bahasa?
user253751


29

JavaScript

Karena browser yang berbeda menggunakan kompiler JavaScript yang berbeda, mereka menghasilkan pesan yang berbeda. Namun, ini adalah solusi yang agak sepele.

V8 (Chrome 36 / Node.js)

SyntaxError: Unexpected identifier

masukkan deskripsi gambar di sini

SpiderMonkey (Firefox 31)

SyntaxError: missing ; before statement

masukkan deskripsi gambar di sini

Chakra (Internet Explorer 11)

Expected ';'

masukkan deskripsi gambar di sini


Dalam jsc:: Exception: SyntaxError: Unexpected identifier 'identifier'D
bertepuk

2
@ConfusedMr_C Itu token aneh untuk dicekik.
SuperJedi224

@ SuperJedi224 Ya. Setidaknya itu bekerja: P
bertepuk

28

Commodore 64 Basic

?SYNTAX  ERROR

Saat dijalankan pada emulator pilihan Anda (atau Commodore 64 yang sebenarnya), hasilkan

?SYNTAX  ERROR

Faktanya, ini adalah program satu-baris yang valid secara sintaksis. Tanda tanya adalah pintasan untuk PRINT, dan SYNTAXdan ERRORmerupakan nama variabel yang valid. Kesalahan terjadi karena pengurai menjadi bingung oleh substring ORdi ERROR.


5
Jika parser menjadi bingung dan melempar kesalahan sintaksis, bukankah itu membuatnya tidak valid secara sintaksis?
Martin Ender

4
@ MartinBüttner, itu benar-benar tergantung pada yang Anda anggap otoritas untuk "sintaks yang valid": deskripsi bahasa, atau implementasi bahasa.
Markus

16
Saya mengerti, jadi secara teknis valid secara sintaksis tetapi itu membuat parser tersandung karena bug dari implementasi tertentu?
Martin Ender

6
Lebih atau kurang, dikacaukan oleh fakta bahwa ada adalah hanya satu implementasi.
Markus

Nitpick: CBM BASIC sebenarnya mencetak dua spasi, bukan satu, antara "SYNTAX" dan "ERROR". Sayangnya saya tidak dapat mengedit jawaban ini untuk memperbaikinya, karena Stack Exchange memaksakan minimum 6 karakter konyol untuk pengeditan.
Psychonaut

28

Microsoft Excel

Rumus: #DIV/0!

Pesan eror: #DIV/0!

Untuk memasukkan formula tanpa menggunakan tanda sama dengan, buka Pengaturan Opsi Excel / Lanjutan / Kompatibilitas Lotus dan aktifkan Entri Transisi Formula.


-2 bytes:#REF!
Engineer Toast

19

Bash (32)

Simpan sebagai file bernama x:

x: line 1: x:: command not found

Ketika dijalankan:

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

19

Quine error kompilasi Java 8 (12203 bytes)

Dihasilkan pada windows + mingw dengan java 1.8.0_11 jdk, menggunakan perintah ini:

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

Mungkin bukan yang terpendek, mungkin juga bukan yang terpanjang, lebih merupakan bukti konsep. Berfungsi karena output kesalahan menunjukkan paling banyak 100 kesalahan.

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 - Membuat PPCG Hebat Lagi ( TrumpScript )

Saat mencoba menjalankan bahasa ini di PC windows, hasilnya selalu:

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

Jadi ketika menjalankan program ini:

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

Bahkan tidak akan menguraikannya karena pemeriksaan OS gagal, dan Anda mendapatkan pesan kesalahan. Contoh dapat diberikan untuk Mac juga jika ada yang mau haha. Ya Tuhan, aku sudah lama ingin menggunakan ini di PPCG, bagus akhirnya aku bisa.

Daftar lengkap kesalahan yang dapat dipicu menggunakan spesifik lingkungan:
https://github.com/samshadwell/TrumpScript/blob/master/src/trumpscript/utils.py


Jawaban Bonus: ArnoldC ( ArnoldC )

ArnoldC membutuhkan deklarasi root IT'S SHOWTIME, yang berarti main(), jadi:

WHAT THE FUCK DID I DO WRONG

Menghasilkan satu-satunya pesan kesalahan di ArnoldC ...

WHAT THE FUCK DID I DO WRONG

Yang mana, sebenarnya ... lucu. Anda harus menjalankannya non-verbose meskipun tanpa jejak stack.


9
Ini harus menjadi dua jawaban terpisah.
mbomb007


12

Julia 0.2.0

Kesalahan sintaksis lain ditemukan secara iteratif hingga titik tetap tercapai:

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

11

Mathematica

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

A .dalam Mathematica berarti titik atau fungsi desimal Dot. Dalam hal ini, .muncul di akhir ekspresi dan tidak dapat ditafsirkan.


masukkan deskripsi gambar di sini


Saya pikir itu tidak mungkin.
ngenisis

9

C

Saya menerapkan metode berulang kali menyalin pesan kesalahan ke sumber. Itu berkumpul dalam 2 siklus. Dikompilasi di OSX 10.9 dengan '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.

Catatan: Ini bukan jawaban karena ini adalah metodologi untuk mendapatkannya. Hasilnya mungkin berubah tergantung pada OS Anda atau versi cc yang Anda gunakan.

Metode yang tepat untuk mendapatkan hasilnya adalah dengan menjalankan instruksi

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

berulang kali hingga output berhenti berubah.


Saya mencoba lagi. Awalnya tidak berhasil. Untuk membuatnya bekerja, Anda harus menjalankan cc -c error.c 2>outdan kemudian mv out error.c. Dan dengan versi cc yang saya miliki hari ini dibutuhkan beberapa iterasi lagi.
Florian F

Anda mungkin ingin mencatat bahwa dalam jawaban Anda, itu membutuhkan versi OSX tertentu cc; jika tidak maka tidak valid dan harus dihapus per pedoman komunitas.
MD XF

@ MDXF: Ini bekerja dengan dentang. Berikut ini tautan ke tio.run, 122 byte: tio.run/##S9ZNzknMS///Xy85PyVVryQzXy/…
G. Sliepen

8

C ++ (g ++)

File harus disimpan sebagai 1.pas.

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

4
Apakah masih bekerja jika compiler Pascal adalah diinstal dalam sistem?
SuperJedi224

@ SuperJedi224 Setidaknya menginstal FreePascal tidak membantu. Saya kira GNU Pascal mungkin kompilator Pascal yang tepat, tetapi saya tidak mencoba.
jimmy23013

8

INTERCALL , 90 byte

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

Termasuk baris baru di akhir. Perhatikan bahwa ini bukan STDERR, tetapi dianggap sebagai output kesalahan oleh banyak orang, jadi saya mempostingnya di sini.

Ini adalah "header wajib":

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

Tautan ke repo rusak.
connectyourcharger

@connectyourcharger Hm, sepertinya tidak ada repo lagi.
Erik the Outgolfer

Ya, pencarian Google tidak menghasilkan apa-apa kecuali repo untuk Intercal.
hubungkan charger Anda

@connectyourcharger Anda Tidak perlu; hanya ada 8 repo yang disebut "intercall" (tidak peka huruf besar-kecil), dan tidak ada satu pun dari mereka yang berbicara tentang bahasa, jadi aman untuk mengatakan itu tidak berguna (tidak, tidak ada apa pun di Wayback Machine juga).
Erik the Outgolfer

8

GHCi (juru bahasa / shell Haskell)

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

Pemakaian:

Tulis kode dalam file bernama Kode dan muat dengan GHCi.

Fakta yang bagus adalah bahwa, jika kata-kata itu adalah pengidentifikasi yang sebenarnya, ini akan menjadi ekspresi hukum (selama itu akan ketik cek). Hal ini pada dasarnya disebabkan oleh fakta bahwa :operator yang ada di dalamnya, .digunakan untuk nama yang memenuhi syarat modul, dan spasi putih digunakan untuk menunjukkan aplikasi fungsi.


.bukan operator di sini. Itu bagian dari nama yang memenuhi syarat. Untuk GHCi versi apa ini?
dfeuer

@ PDFeu ya, salahku. Jangan ragu untuk memperbaikinya. Versi ghci mungkin sekitar apa pun yang keluar pada saat itu.
haskeller bangga

7

Ruby 2 di Windows

Kode:

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

Kode ditemukan dengan menguji dan mengulangi proses berulang-ulang sampai titik perbaikan tercapai. Kode harus ada di dalam file "error.rb".

Demo:

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

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

7

Applescript (dalam Editor Skrip)

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

masukkan deskripsi gambar di sini


8
ini sebuah kesalahan?
kucing

Artikel "A" muncul di depan kata-kata yang dimulai dengan konsonan atau bunyi konsonan. Untuk kata-kata yang dimulai dengan vokal atau bunyi vokal, artikel yang benar adalah "an". Saya hanya menjadi nitpicky :)
cat

1
@cat saya mengerti. Yap, saya tidak pernah mengklaim kebenaran tata bahasa :)
Digital Trauma

7

AppleScript

Identifier tidak dapat mengikuti identifier ini.

Keduanya Adan identifierbisa menjadi pengidentifikasi, sehingga AppleScript mengatakan tidak.

pengidentifikasi


21
itu harus merupakan identifier ... ayolah ....
kucing

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.

Kompilasi dengan gcc -Wfatal-errors error.c.



6

BBC Basic, 7 byte (atau 0 Bytes)

Ini adalah entri 7 byte yang valid:

Mistake

Ini adalah pesan kesalahan yang dihasilkan oleh penerjemah ketika benar-benar tidak dapat memahami kode.

Di sisi lain, ini bukan:

ERROR

Ini adalah kata kunci yang valid di BBC Basic yang seharusnya sengaja memperkenalkan kesalahan dari kode yang ditentukan ke dalam program, tetapi sintaksnya salah (tidak ada kode yang diberikan.) Oleh karena itu ia mengembalikan Syntax error(yang pada gilirannya kembali Mistakeketika dijalankan.)

Secara umum prosedur yang dijelaskan oleh Falko dalam jawabannya mengarah ke Mistakedasar BBC. Ada beberapa pengecualian. apa pun yang menghasilkan kesalahanDATA not LOCAL atauON ERROR not LOCAL mengarah ke quine nol byte yang terkenal: kode sumber kosong menghasilkan file kosong.

Mengingat bahwa sebagian besar pesan kesalahan di BBC basic adalah huruf kecil (dan karena itu bukan kata kunci yang valid), saya cukup yakin bahwa setiap input yang tidak valid pada akhirnya akan mengarah ke salah satu kemungkinan ini.


5

CoffeeScript

Gagal pada kesalahan pertama, sehingga cukup mudah dilakukan:

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.