Buat pembuat quine kesalahan lambat!


38

Sebagai bagian dari jawabannya untuk Membuat Kesalahan Quine! , @Falko mengusulkan algoritma berikut:

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!

Tugas

Tugas Anda adalah membuktikan bahwa dia salah.

Tulis program lengkap yang memenuhi hal berikut:

  1. Ketika dikompilasi atau ditafsirkan, itu menghasilkan pesan kesalahan yang, ketika dikompilasi atau ditafsirkan pada gilirannya, juga menghasilkan pesan kesalahan.

  2. Mengulangi langkah 1 berulang-ulang pada akhirnya akan menemukan titik yang tetap, yaitu quine kesalahan.

Aturan tambahan

  • Pesan kesalahan terakhir harus memiliki panjang positif. Namun, pesan kesalahan sebelumnya dan kode sumber aslinya mungkin kosong.

  • Panjang kode sumber asli tidak boleh lebih dari 1024 byte.

  • Baik kode asli atau kode yang dihasilkan dalam langkah apa pun tidak dapat menghasilkan keluaran non-kesalahan.

    Keluaran harus secara jelas dapat diidentifikasi sebagai pesan kesalahan, yang harus dihasilkan oleh kompiler / juru bahasa karena kesalahan sintaks, kesalahan runtime, referensi yang tidak ditentukan, dll.

  • Program Anda mungkin tidak menerima input apa pun atau mengharuskan bendera apa pun untuk menghasilkan loop.

  • Program Anda dapat mengandalkan implementasi spesifik dari bahasa atau versinya.

Mencetak gol

Skor Anda adalah jumlah langkah terbatas yang dibutuhkan oleh kode sumber Anda sebelum menghasilkan quine kesalahan. Pengajuan dengan skor tertinggi akan menang.

Panjang kode sumber asli akan digunakan sebagai tie breaker. Lebih pendek lebih baik.

Contoh

Dalam Chicken , programnya



menghasilkan pesan kesalahan berikut:

TypeError: Cannot read property 'NaN' of undefined

Jika pesan kesalahan ini, pada gilirannya, ditafsirkan, itu menghasilkan pesan kesalahan

Error on line 1: expected 'chicken'

yang, jika ditafsirkan pada gilirannya, menghasilkan dirinya sendiri.

Dengan demikian, skor program Ayam kosong adalah 2.

Contoh tandingan

Kode PHP

ab<?=c

menghasilkan pesan kesalahan

PHP Parse error:  syntax error, unexpected '?' in Command line code on line 1

yang menghasilkan sendiri ketika diartikan.

Namun, kode sumber kedua mencetak pesan ke STDOUT, membuat urutan ini tidak valid.


11
Prosedur ini tidak pernah menghasilkan kesalahan quine di Pyth. Itu berakhir dalam siklus berulang, setiap output kesalahan ketiga adalah Segmentation fault (core dumped).
isaacg

4
@isaacg: Itu sebenarnya cukup rapi karena sikliknya.
Alex A.

5
Saya percaya ini adalah pertanyaan ke-3000, tidak termasuk yang tertutup atau terkunci. Selamat! :)
Martin Ender

Sayang sekali C # tidak bisa melakukan ini, karena kompiler menghasilkan garis kesalahan yang semakin lama.
LegionMammal978

1
@IsmaelMiguel: Saya telah menambahkan dua iterasi terakhir, agar singkat.
Dennis

Jawaban:


36

Bash, 9223372036854775810

Terinspirasi oleh jawaban Doorknob.

a='"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #"'
i=2**63
eval $a

Itu harus dijalankan dengan bash < file.sh, atau menggunakan nama file yang sama untuk setiap program, untuk menghilangkan nama file yang berbeda dalam pesan kesalahan.

Beberapa kesalahan pertama adalah (dengan LANG=C):

bash: line 3: 2>/dev/null;if(((i=9223372036854775807)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory
bash: line 1: 2>/dev/null;if(((i=9223372036854775806)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory
bash: line 1: 2>/dev/null;if(((i=9223372036854775805)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory

Dan akhirnya:

bash: line 1: 2>/dev/null;if(((i=0)>0));then declare -- a="\"2>/dev/null;if(((i=\$((i-1)))>0));then \$(declare -p a);\$a;else 1;fi #\"";"2>/dev/null;if(((i=$((i-1)))>0));then $(declare -p a);$a;else 1;fi #";else 1;fi #: No such file or directory
bash: line 1: 1: command not found
bash: line 1: bash:: command not found

yang merupakan quine kesalahan.


7
Itu mungkin setinggi yang akan kita dapatkan pada mesin 64-bit. Permainan yang bagus.
Dennis

@ Dennis Ini bisa menjadi jauh lebih tinggi jika saya menggunakan bcatau menulis kode saya sendiri untuk pengurangan.
jimmy23013

3
@ Dennis Diedit untuk membuat kesalahan sesuai dengan ukuran file maksimum mesin 64-bit.
jimmy23013

2
Ini adalah skor yang sangat tinggi dibandingkan dengan jawaban lainnya. Agar adil, Falko memang mengatakan "sebagian besar kasus" (meskipun ini memberikan setidaknya 9223372036854775000 skor lebih dari 800.)
PyRulez

Mungkin juga menambahkan beberapa yang terakhir (sebelum menjadi quine)?
Paŭlo Ebermann

15

Pip 0.15.05.29 , lebih dari 10 100.000

Secara teknis tidak valid karena memerlukan -wbendera untuk keluaran peringatan. Yang sedang berkata, Pip by design tidak menampilkan kesalahan runtime kecuali mereka benar-benar crash program (rekursi tak terbatas, misalnya); masalah dengan kode ini adalah hal-hal yang pasti akan dikeluhkan oleh bahasa lain.

i:5**6**7d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

Jumlah langkah yang tepat hanya bergantung pada nilai yang diberikan i, sehingga bisa jadi besar secara sewenang-wenang (sampai juru bahasa Python kehabisan memori). Juga, akan dibutuhkan waktu lebih lama dari umur alam semesta untuk menyelesaikan urutan di atas. (Pertanyaannya memang menentukan "lambat"!)

Penjelasan:

Butuh beberapa menyisir melalui penerjemah sebelum saya menemukan kesalahan yang akan membiarkan saya memasukkan kode arbitrer ke dalam pesan peringatan. Setelah itu, pada dasarnya memodifikasi teknik quine standar. Contoh di sini menggunakan nilai i- 5untuk tujuan penjelasan.

i:5d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

Setelah pengaturan i, simpan string dalam ddan kemudian coba jalankan Spernyataan wap. Swap mengharapkan dua variabel (lebih akurat, nilai). sbaik-baik saja, tetapi ungkapan kedua adalah i?dRo--iRsRPda. Jika ibenar (bukan nol, untuk tujuan kami), terner mengevaluasi dRo--iRsRPd, yang menggunakan ddari sebelumnya untuk membentuk quine dekat - hanya dengan idecremented. Ungkapan ini bukan nilai, jadi Pip mengeluh:

Attempting to swap non-lvalue i:4d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

... yang kemudian memulai semuanya dari awal lagi. ( Attempting to swap non-lvalueadalah sekelompok no-ops: Atmenghitung nilai ASCII t = 10, n-lkurangi baris baru dikurangi setiap nilai daftar kosong, dan semua huruf kecil hanyalah variabel.)

Proses berlanjut seperti mode sampai ke:

Attempting to swap non-lvalue i:0d:"i:1d: Ssi?dRo--iRsRPda"Ssi?dRo--iRsRPda

Ketika ini dijalankan, isekarang salah. Ekspresi terner mengevaluasi ke cabang lain a- yang merupakan lvalue. Dengan demikian, swap tidak lagi mengeluh. Sebaliknya, kami mendapatkan:

Referencing uninitialized variable a

Dan setelah menjalankan ini, akhirnya, kami memiliki kesalahan sintaksis yang sebenarnya:

R is not a unary operator
Fatal error while parsing, execution aborted.

... pada titik mana, sejak "program" dimulai R, Pip akan terus mengeluh bahwa Ritu bukan operator yang tidak tetap selamanya.


Solusi terbaik yang tidak digunakan -wadalah panjang 3:

$~

While scanning, ignored unrecognized character: '~'
Missing operator for $ meta-operator? Got None instead
Fatal error while parsing, execution aborted.

Missing operator for $ meta-operator? Got m instead
Fatal error while parsing, execution aborted.

M is not a unary operator
Fatal error while parsing, execution aborted.

Pip -wdianggap sebagai bahasa pemrograman berdasarkan konsensus meta
MilkyWay90

@ MilkyWay90 Poin bagus, meskipun saya pikir kata-kata dari pertanyaan ini menimpa default itu ("Program Anda mungkin tidak ... memerlukan flag apa pun untuk menghasilkan loop"). Tidak masalah bagi saya dengan satu atau lain cara - solusi saya telah diterima dengan baik dalam hal apa pun. :)
DLosc

Oke, saya mengerti sekarang
MilkyWay90

13

Julia, 3

Yang sederhana hanya untuk membuat bola bergulir ...

Program awal:

inquisition

Kesalahan 1:

inquisition not defined

Ini mungkin tidak didefinisikan, tetapi jika itu bahasa Spanyol , itu juga tidak terduga. Tidak ada yang mengharapkan Inkuisisi Spanyol.

Kesalahan 2:

syntax: extra token "not" after end of expression

Kesalahan 3:

syntax: extra token "token" after end of expression

Pesan kesalahan ketiga, ketika dikirim sebagai program, menghasilkan kesalahan yang sama, maka skor 3.

Bekerja dalam proses! Tentunya saya bisa melakukan lebih baik dari 3.


2
Tidak terkait, tetapi patut ditonton (subtitle dalam bahasa Spanyol): youtube.com/watch?v=8mzfyVluiIU atau (subtitle dalam bahasa Inggris, dan kualitas yang lebih baik): youtube.com/watch?v=mog7Gsu613E
Ismael Miguel

2
@IsmaelMiguel Itu pasti terkait. :)
Alex A.

8

R, 5

Program awal:

1i*"5"

Kesalahan 1:

Error in (0+1i) * "5" : non-numeric argument to binary operator

Kesalahan 2:

Error: unexpected 'in' in "Error in"

Kesalahan 3:

Error: unexpected string constant in "Error 'in'"

Kesalahan 4:

Error: unexpected symbol in "Error: unexpected string"

Kesalahan 5 (Quine):

Error: unexpected symbol in "Error: unexpected symbol"

6

Bash, 3

cp

Skrip shell yang sangat sederhana untuk mengujinya:

llama@llama:~$ s=$(bash -c 'cp' 2>&1); olds=asdf; while [ "$s" != "$olds" ]; do echo $s; echo '-----'; olds=$s; s=$(bash -c $s 2>&1); done 
cp: missing file operand
Try 'cp --help' for more information.
-----
bash: cp:: command not found
bash: line 1: Try: command not found
-----
bash: bash:: command not found
bash: line 1: bash:: command not found
-----

Skrip pengujian Anda tidak diabaikan stdout. Jika ada stdoutdan stderr, itu tidak akan berfungsi dengan baik.
wizzwizz4

@ wizzwizz4 Tantangannya melarang output non-error.
Dennis

@ Dennis Poin yang bagus. Tapi ... pengguna tidak selalu sebagus programmer. (Bahkan jika pengguna adalah seorang programmer, mereka mungkin bukan yang berpengalaman.)
wizzwizz4

5

Ruby, 5

Program awal

q

1

undefined local variable or method `q' for #<Context:0x00000001045d70>
(repl):1:in `initialize'

2

(repl):2: syntax error, unexpected tIDENTIFIER, expecting end-of-input
(repl):1:in `initialize'
                       ^

3

(repl):1: syntax error, unexpected ':', expecting end-of-input
(repl):2: syntax error, unexpected t...
       ^

4

(repl):1: syntax error, unexpected ':', expecting end-of-input
(repl):1: syntax error, unexpected ':', expecting end-of-input
       ^

5 (Quine)

(repl):1: syntax error, unexpected ':', expecting end-of-input
(repl):1: syntax error, unexpected ':', expecting end-of-input
       ^

4

Jawa, 5

Ini sangat panjang ... jadi saya memverifikasi kesetaraan string menggunakan skrip Python, dan saya membuat posting yang diformat ini, jadi saya tidak perlu memasukkan tab secara manual pada 400 baris.

Program awal

class Main {
  public static void main(String[] args) {
    System.out.println("hello world");
  }}
}

1

Main.java:5: error: class, interface, or enum expected
}
^
1 error

exit status 1

2

Main.java:1: error: class, interface, or enum expected
Main.java:5: error: class, interface, or enum expected
^
Main.java:1: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                         ^
Main.java:1: error: <identifier> expected
Main.java:5: error: class, interface, or enum expected
                                    ^
Main.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Main.java:5: error: class, interface, or enum expected
                                         ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Main.java:1: error: = expected
Main.java:5: error: class, interface, or enum expected
                                              ^
Main.java:3: error: illegal start of type
^
^
Main.java:3: error: ';' expected
^
 ^
Main.java:6: error: ';' expected
exit status 1
    ^
Main.java:6: error: <identifier> expected
exit status 1
           ^
Main.java:6: error: reached end of file while parsing
exit status 1
             ^
10 errors

exit status 1

3

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

exit status 1

4

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

exit status 1

5 (Quine) - Dihilangkan karena panjang posting.


1
Karena pesan kesalahan tidak terstandarisasi, dapatkah Anda menambahkan versi kompiler Anda (hasil dari javac -version)?
Paŭlo Ebermann

"[...] jadi aku tidak perlu memasukkan tab secara manual pada 400 baris!" -> Rekatkan pada Notepad ++, tekan CTRL + A (Pilih semuanya) lalu tekan tab. Itu cara yang lebih cepat. Juga, Anda bisa menggunakan text-compare.com untuk membandingkan teks, atau plugin Bandingkan di Notepad ++. Yang terbaik dari semua itu adalah text-compare.com memungkinkan untuk mengirim hasilnya melalui email.
Ismael Miguel

Saya menggunakan skrip saya daripada situs web, sehingga saya akan memiliki semua output dalam satu daftar yang kemudian bisa menjadi output.
mbomb007

@ PaŭloEbermann Link yang ditambahkan
mbomb007

Saya menggunakan repl karena ideone tidak menunjukkan output kesalahan verbose. Jika Anda tahu juru bahasa online yang lebih baik, beri tahu saya. Meskipun memiliki Netbeans dan Eclipse, saya tidak suka menggunakannya untuk program sederhana karena itu membutuhkan membuat proyek, dll.
mbomb007

2

Javascript, 3 tingkat kesalahan

Ini bukan 'golok' atau apa pun, tapi saya merasa agak aneh ...

Kesalahan 0 (asli):

document.appendChild(HTMLAllCollection)

Kesalahan 1:

HierarchyRequestError

Kesalahan 2:

'HierarchyRequestError' is not defined

Kesalahan 3 (quine):

Excepted character ';'

Ini semua dikembalikan pada Internet Explorer 11.0.9600.17416, karena kesalahan diterjemahkan ke Bahasa Inggris.


Printscreen:

Printscreen menunjukkan output konsol

* Pesan kesalahan ditampilkan dalam Bahasa Portugis dan dapat dengan mudah diterjemahkan ke Bahasa Inggris


@ LegionMammal978 Dalam versi persis berapa DAN nomor dan tanggal pembuatan?
Ismael Miguel

@ LegionMammal978 Jawabannya SANGAT spesifik. Ini hanya berfungsi pada IE11, dan output yang tepat hanya akan terjadi pada Windows dengan Portugis (pt-PT) sebagai bahasa tampilan utama. Saya jamin itu akan berfungsi pada 11.0.9600.17416. Saya tidak bisa dan tidak akan menjamin bahwa itu akan menghasilkan output yang sama di build yang lebih baru atau pada sistem operasi lain.
Ismael Miguel

@ LegionMammal978 Jangan khawatir. Tandai komentar sebagai usang ketika Anda mendapatkannya.
Ismael Miguel

0

JS di Firefox 66.0; 3 tingkat kesalahan

Memasukkan: 6?4;

Kesalahan # 1 = Input # 2: missing : in conditional expression

Kesalahan # 2 = Input # 3: expected expression, got keyword 'in'

Kesalahan # 3 = Input # 4 = Kesalahan # 4: unexpected token: identifier

Ini yang tertinggi yang saya dapat.

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.