Inspiriert von einem Polyglot auf der Seite "Stapelüberlauf 404" :
Tor
Ihr Ziel ist es einfach, einen Polyglot zu erstellen, der die Zahl 404 ausgibt und dann in so vielen Sprachen wie möglich endet.
Beschränkungen
Hier ist die Wendung, es gibt eine Einschränkung, um es schwieriger zu machen:
Sie müssen N Programme schreiben und N Sprachen in einer bestimmten Reihenfolge auswählen . Das i- te Programm muss 404
in den ersten i- Sprachen, nach dem i- ten jedoch in keiner anderen Sprache gedruckt werden . Dies soll verhindern, dass sehr einfache Lösungen den Wettbewerb zerstören
Wertung:
- Das erste Kriterium für die Ermittlung eines Gewinners ist die Anzahl der Sprachen, in denen das Hauptprogramm ausgeführt wird.
- Das zweite Kriterium ist die Anzahl der Bytes, wobei die Programme mit mehr Sprachen für dieses Kriterium eine größere Bedeutung haben.
- Das dritte und letzte Kriterium ist der Zeitpunkt der Einreichung
Klarstellungen:
Die Quellcodes der Programme müssen keine Beziehung haben. Sie werden als separate Programme ausgeführt. Jedes der Programme kann abschließende und / oder führende Leerzeichen ausgeben. DIE PROGRAMME MÜSSEN NICHT NACHFOLGEN VON JEDEM ANDEREN SEIN!
Vielen Dank an @MartinEnder für eine bessere Erklärung!
quelle
Antworten:
54 Sprachen, 1331 Bytes
> <> , Gol> <> , Foo , Befunge-93 , Befunge-98 , Brainfuck , Brain-Flak , Python 2 , Python 3 , Hexagony , Perl , Rubin , Julia , Cardinal , Brainbash , Turtlèd , Deadfish ~ , Whitespace , Blindenschrift , Schiene , Spaltung , ETA , Auslöser , Selbst modifizierende Brainfuck , Numberwang , Eigentlich , Emoji , Symbolic Brainfuck , Tincan , Alphuck , Shove , Cood , Wise , Breite , Whispers , Thue , Oberfläche , Steine , böse , Set , Prelude , Gaot ++ , Cubix , Kubisch , PATH , Gewerbe , Brian & Chuck, Affen , Nhohnhehr , Beam , AsciiDots , Alumin , Alice , Whirl
Dies wird sehr lange dauern, daher verschiebe ich auf Vorschlag von @ MDXF die Unterprogramme und Kommentare zu einer Übersicht . Das Programm hier ist nur das endgültige Programm. Nochmals vielen Dank an MDXF für die Bereitstellung des TIO-Testtreibers.
54. Wirbel
Probieren Sie es online!
Whirl wird als Turning Tarpit bezeichnet, das nur zwei Anweisungen 1 und 0 verwendet. 1 dreht das aktuelle Rad der Anweisungen (entweder das mathematische Rad oder das Operationsrad), 0 tauscht die Drehung des Rads und zwei Nullen führt den Befehl aus und wechselt die Räder. Die entsprechenden Anweisungen stehen in der ersten Zeile:
000110000011110000100000100000110000011001100000111100001110011000111000110000
Die führenden 01s heben sich gegenseitig auf, und die nachfolgenden 01s verursachen eine Gleitkomma-Ausnahme.
Edit: Fest ein Haufen zerbrochener Sachen
(Befehle vorsichtig sein , in der Zukunft:
UDLR%"[.]o473psjw
)Wenn Programme für zukünftige Sprachen funktionieren oder für aktuelle oder frühere Sprachen nicht funktionieren, kommentieren Sie bitte.
quelle
...print(0 or 404)
aber keine Folge des 97-Byte-N-Programms.#
. Ich bedaure es wirklich, diese beiden Sprachen eingeschlossen zu haben, haha.53 Sprachen, 2789 Bytes
Bash, Foo, Implicit, Charcoal, Emoji,> <>, rk, Brain-Flak, C, Set, Cood, Arcyou, TRANSCRIPT, SILOS, Kommerziell, C ++, Braille, Deadfish ~, Memescript 1.0, ETA, Python 1, Python 3, PARI / GP, Lilie, Spaltung, Dezimal, Kubisch, Bitweise, TinCan, Flüstern, Thue, Emotinomicon, Was ??!, Ook !, Böse, Lennyfuck, Blablafuck, Steine, TacO, COW, Symbolic Brainfuck, Unterlast, Rail , Retikular, Gaot ++, PATH, Axo, Monkeys, Nhohnhehr, xEec, VTFF, K-on Fuck, Churro und Forked. Probiere alles online im Testfahrer aus!
Begleiten Sie uns im Chatroom für diese Herausforderung!
Dieser Beitrag wurde viel zu groß. Hier ist eine Übersicht über meine Fortschritte. Aktuelles Abschlussprogramm:
Gegabelt
Probieren Sie es online!
Mein neuer (nur implementierter) Esolang!
quelle
34 Sprachen, 387 Zeichen
Gelee , M , Pyon , Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, BC, Pari / GP, Brainfuck, Emoji, Emotin🌗micon, Holzkohle, Braingolf, Whitespace, Deadfish ~, Deadfish, Selbstmodifizierendes Brainfuck, Symbolisches Brainfuck, Numberwang, Cardinal, Eigentlich, Spaltung, Vorspiel, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk , böse
Diese Antwort wird sehr lang und hier ist die vollständige Antwort. Von nun an wird hier nur noch das letzte Programm gespeichert.
Wenn jemand feststellt, dass eines der Programme für eine Sprache defekt ist oder ein Programm für eine Sprache funktioniert, die es nicht sollte, lassen Sie es mich wissen.
Probieren Sie es online!
quelle
11 Sprachen, 10 Bytes
Pyon
Pyon, Python 2
Pyon, Python 2, Python 1
Pyon, Python 2, Python 1, Python 3
Pyon, Python 2, Python 1, Python 3, Lua
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia, Lily
quelle
4 Sprachen: CJam, Python, Unterlast,> <>
Folgendes funktioniert in CJam, aber nicht in Python, Underload oder> <>:
404
auf den Stapel verschoben . Das Programm endet und das404
wird ausgegeben.404
. Der Ausdruck wird ausgewertet und das Programm beendet.4
und0
sind ungültige Befehle, daher ignoriert der TIO-Interpreter sie einfach und das Programm wird beendet.404
Schübe4
,0
und4
auf den Stapel. Die IP-Adresse springt an den Anfang und das Programm wird unendlich wiederholt.Folgendes funktioniert in CJam oder Underload (obwohl es fehlerhaft ist), aber nicht in Python oder> <>:
N
eine Zeichenfolge (ein Array von Zeichen) mit einer neuen Zeile in den Stapel.(
Fügt das einzelne Zeichen (eine neue Zeile) aus der Zeichenfolge ein.404
Drückt404
auf den Stapel und)
erhöht ihn dann, um zu geben405
.S;
schiebt ein Leerzeichen und löscht es dann sofort.(
dekrementiert nochmal um zu bekommen404
, und\
tauscht dann die newline und die404
.404\n
wird ausgegeben (das leere Array wird als nichts angezeigt).N
wird ignoriert.(404)
schiebt die Zeichenfolge404
auf den Stapel.S
gibt es aus.;
wird ignoriert.(
veranlasst den Interpreter, nach einem Abschluß zu suchen)
, aber da keiner gefunden wird, schlägt das Programm fehl.N(404)
folgt ein BezeichnerS
, der fehlerhaft ist), so dass das Programm fehlerhaft ist.N
ist eine ungültige Anweisung, daher treten Programmfehler auf.Folgendes funktioniert in CJam (obwohl es Fehler gibt), Underload oder Python, aber nicht> <>:
[]
das leere Array auf den Stapel undL
drückt das leere Array auf den Stapel.e=
zählt die Anzahl der Vorkommen von[]
in[]
, giving0
.404
drückt404
auf den Stapel.+
addiert die beiden Zahlen und gibt404
.L
Drückt das leere Array erneut auf den Stapel unde#
erstellt einen Kommentar, der bis zum Ende der Zeile dauert.(
versucht, ein Element aus einem Array zu entfernen, aber da das oberste Stapelelement das leere Array ist,[]
treten Programmfehler auf.404
wird noch ausgegeben.[]
ist eine Anweisung, die aus einer No-Op-Anweisung besteht.Le=404
definiert eine VariableLe
, die gleich sein soll404
.+Le
Nimmt das unäre Plus der VariablenLe
(eine ziemlich nutzlose Operation) und das Ergebnis wird verworfen.#(404)S
ist ein Zeilenkommentar.(print(404))
druckt 404.(404)S
, der404
auf den Stapel schiebt und ihn ausgibt.(print(404))
drücktprint(404)
auf den Stack, aber es wird nichts damit gemacht und das Programm wird beendet.[
Versucht, eine Zahl aus dem obersten Stapel des Metastacks zu entfernen. Anschließend werden so viele Elemente aus diesem Stapel entfernt und in einen neuen Stapel umgewandelt, der dann in den Metastack verschoben wird. Es gibt keine Nummer auf dem Stapel, daher sind die Programmfehler.Folgendes funktioniert in CJam (obwohl es Fehler gibt), Python, Underload und> <>:
[]
, haben wir jetzt ein String-Literal, aber der Inhalt ist immer noch unwichtig.[]
, ist der nicht verwendete erste Ausdruck jetzt ein String-Literal, aber der Inhalt ist immer noch unwichtig."
String-Modus beginnt, und die IP-Adresse wird in der ersten Zeile umbrochen, wobei jeder Zeichencode, den sie sieht, auf den Stapel geschrieben wird (dies ist unwichtig). Die IP wird umgebrochen und trifft"
erneut, wodurch der String-Modus beendet wird.404
Überträgt die Ziffern404
auf den Stapel undnnn
gibt sie dann jeweils aus (technisch gesehen geschieht dies in umgekehrter Reihenfolge, aber da 404 ein Palindrom ist, spielt dies keine Rolle).;
beendet das Programm.quelle
6 Sprachen Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript, Alphuck
Da kommt noch mehr!
Brain-Hack
Druckt 404 in Brain-Hack
Brain-Hack, Brain-Flak
Gehirn-Hack, Gehirn-Flak, Gehirn-Fick
Verwendet Kommentare in Brain-Flak zum Drucken
Gehirn-Hack, Gehirn-Flak, Gehirn-Fick, Foo
Gehirn-Hack, Gehirn-Flak, Gehirn-Fick, Foo, Javascript
Gehirn-Hack, Gehirn-Flak, Gehirn-Fick, Foo, Javascript, Alphuck
quelle
4
...5 Sprachen (87 Bytes)
Pyon
Probieren Sie es online!
Python 2
Probieren Sie es online!
Brain-Flak (BrainHack)
Probieren Sie es online!
Gehirnfick
Entnommen aus Jo Kings Antwort, weil ich keinen Brainfuck-Code finden konnte, bei dem die Klammern ausgeglichen waren (Brain-Flak-Beschränkung).
Probieren Sie es online!
05AB1E
Beachten Sie, dass dies auch mit Ohm funktioniert.
Probieren Sie es online!
Vielen Dank an Jo King für -6 Bytes.
quelle
x%x
und[-]
sind nicht notwendig2 Sprachen, 24 Bytes, Python und Batch
Programm 1: Python 3
Programm 2: Python 3 und Batch
Nach dem Hash-Kommentar wird der Rest des Codes in Python und der | ist eine Anweisung in der Bash, die ausgeführt wird, wenn der andere Befehl fehlschlägt.
quelle
2 Sprachen, 53 Bytes: C und Python
Beginnen wir mit etwas Einfachem.
Programm 1: C
Programm 2: C und Python
TIO-Links:
Dies ist nur ein Beispiel und wird wahrscheinlich um ein Vielfaches übertroffen.
quelle
4 Sprachen, 91 Bytes
C ++
C ++, C
Entfernt das C ++ - Makro
C ++, C, Befunge
Fügt ein Makro hinzu, das in C ++ ignoriert, in Befunge jedoch als Code gelesen wird.
C ++, C, Befunge, Python
Fügt einen Code hinzu, der bewirkt, dass die nächste Zeile ein Kommentar in C ist, nicht jedoch in Python (
//<backslash>
).quelle