Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   noch'n BF Interpreter (https://www.delphipraxis.net/146640-nochn-bf-interpreter.html)

himitsu 24. Jan 2010 10:02


noch'n BF Interpreter
 
Liste der Anhänge anzeigen (Anzahl: 2)
Dann will ich auch mal. :lol:

Es tut mir wirklich Leid, Daniel, aber dieses Wort kannte Google auch noch nicht, von uns. :roll:


Ja, was soll ich noch dazu sagen?
Ihr wisst ja bestimmt schon, worum es geht. *auf FAlter und Co. Schiel* :mrgreen:

http://de.wikipedia.org/wiki/Brainfuck
http://en.wikipedia.org/wiki/Brainfuck


- inkl. einiger/vieler Beispielcodes
- BF8.bf erzeugt in der Standardausgabe eine .COM-Datei, welche einen DOS-BF-Interpreter darstellt
- "Keymaker's brainfuck interpreter.bf" ist ein BF-Interpreter in BF geschrieben
als Input einfach irgendein anderes BF-Script angeben
- MiniBF ist ein kleiner/einfacher Konsolen-Interpreter (recht lahmarschig)
- MiniBF2 ist 'ne leicht optimierte Variante davon (beide von mir :oops: )



Infos zum "großen" Interpreter
- man kann das BF-Programm in gewisser Weise auch schon etwas Debuggen
- Scripts sind via Drag&Drop ladbar
- im Editor gibt's einige Tastenkodes - Strg+U und Strg+I zum Einrücken - Strg+G und Strg+B formatiert die markierten Zeilen
- "field size" gibt die Speicher-/Rechengröße an (in Bit)
- bitwidth simuliert 'ne größere "field size" (8x2 = 16 Bit und 8x4 = 32 Bit)
- "file input" nutzt byteweise eine Datei statt der Eingabeaufforderung für ","
- Eingaben ohne "inputbox" in das Output-Memo eingeben


Die "Hilfe" wird noch gefüllt, also nicht wundern.
Es kommen auch noch viel mehr Codes dazu
und ein kleines BF-Einmaleins,
sowie ein eigener BF-2-Pascal-BFCode. :mrgreen:

Der Anfang läuft schon ... hab nur noch mit dem "IF-THEN" einige Problemchen:
Code:
>>>>>>>>>>>>++++++++++[<<<<<<<<<<<<+++>+++++>++++++>++++>+++
++++++++>+++++++++>+++++++++++>+++++++++>++++>++++++>+>+>>>+
++>>++++++++++>++++++++++>+++++++++++>+++++++++++>++++++++++
++>++++<<<<<<<<<-]<<<<<<<<<<<<+++++>-->+>>->+>++>+++>+>->+++
>>>+>++>>>+++++>>+++++>->----<<<<<<

>>>++.++.---.-<--.++>>-.+<<<---.+++>>-.<<<<.>>>>.+>>++.--<<<
<--.++++.--<<<<<<<.>.>.<.>.>>>>>>>>>++++.---->.<<<<<---.+++>
>++..-->+.->++.--<<++.--<<+.-<<.>>-.+>>+.-.>.<+.---.++<<+.->
>>>++++++.------<<<<<<<<<<.>.<.>.>>>>>>>>>-.+<<<<---.+++>>>-
.+<<<<<<<<<.>.>>>..>>>>-.+<<<<<<<<<-.+>>>>>.>>---.>>>-..+<<<
.+++>>>>++.--<<<<<<<<<<<<<<<.<<<<.--..+++.-......>>>>>>.>>>>
>>>.>>>>+.-<<++.--<<.>>-.+>-.+<---.+++>>>-.+<<<<<<<<<<.>.>.>
>>..>>>>++.--<<<<<<<<<-.+>>>>>.>>>.>.>+.-<<<+.++.--.->>>-.+<
<<<<<<<<<.>.>.<.>.>>>>>--.+++.->--.++.>.<<<<<<<<.>.>>>..>>>>
++.--<<<<.<<<<<-.+<<<<<<<.>>>>>>>>>>>>.<<<<<<<<<<<<<.>>>>>>>
>.>.>.>>>>



[-]<<-[>>+<<-]>>[<<<+>+>>-]<<<[>>..<<-]>>>>+.->>.<<.<<<<<<<<
<<<<<<<--.++>>>>>>>>>.>.
[edit=mkinzler] Mfg, mkinzler[/edit]

DP-Maintenance 24. Jan 2010 14:24

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Open-Source" nach "Klatsch und Tratsch" verschoben.
Allein schon der Titel schreit nach der Offtopic-Sparte.

himitsu 24. Jan 2010 14:33

Re: noch'n Hirnschiss
 
Das nur weil ich mal versuche deutsche Namen zu verwenden. :(

Matze privat und nicht als DP-Mod
mit "delphi hirnschiss" is die DP bei Google nun echt oben und mit "hirnschiss" auf der Mitte der 1. Seite

Dabei versuch ich doch nur die DP an die Spitze zu bringen
und so bei der Weltherrschaft etwas behilflich zu sein. :cry:

mkinzler 24. Jan 2010 14:39

Re: noch'n BF Interpreter
 
Wir wollen aber nur positive Publicity. Habe den Titel mal etwas neutraler gefasst

himitsu 24. Jan 2010 14:44

Re: noch'n BF Interpreter
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von mkinzler
Wir wollen aber nur positive Publicity. Habe den Titel mal etwas neutraler gefasst

Na gut, aber immerhin hatte ich nicht die Variante, mit dem icken am Ende, verwendet.
Damit wäre man bestimmt sogar an vielen Erotikseiten vorbei, ganz weit nach vorne gekommen. :angel2:

FAlter 24. Jan 2010 15:09

Re: noch'n BF Interpreter
 
Hi,

dein McKing Bestellprogramm funktioniert ja gar nicht. Egal was ich eingebe es wiederholt sich nur das Menü. Ob im 8 oder 64 Bit Modus.
Oder hat mein neuer, optimierender Interpreter nen Bug?

Ansonsten gehört das schon eher zurück nach Open-Source, oder?

[ot] Gehirnfick fände ich ja noch ok, aber sch... klingt eklig und stinkt vermutlich. [/ot]

himitsu 24. Jan 2010 16:14

Re: noch'n BF Interpreter
 
Komisch, du hast Recht ... irgendwie funktioniert das Read in der Console nicht richtig. :shock:

Read({char}); wartet bei Eingabe auf ein Enter und hört nicht schon nach Eingabe einer Taste auf.
Dann wird anscheinend das erste Zeichen an die Char-Variable übergeben und den Rest merkt sich Delphi für die nächste Eingabe.

Also bei Zeichen+Enter bleibt ein Enter übrig, welches für die nächste Eingabe genutzt wird,
weswegen das nächste Menü gleich wieder abgebrochen wird.

Mithrandir 24. Jan 2010 16:22

Re: noch'n BF Interpreter
 
Das Phänomen hat nix mit Delphi zu tun, das ist generell bei Konsolenprogrammen so. Willst du nur ein Zeichen lesen, musst du den Zeilenpuffer wieder leeren. Unter C hat man dafür den Befehlt fflush; Kennt Delphi da kein Äquivalent zu?

FAlter 24. Jan 2010 16:26

Re: noch'n BF Interpreter
 
Hi,

Unter (Turbo)Pascal gab es m. W. eine Funktion die nur ein einzelnes Zeichen gelesen hat (in der Crt?). Kennt jemand zufällig den Namen? Vielleicht gibt es das unter FreePascal ja noch?

[edit] ReadKey? [/edit]
[edit=2] Mit ReadKey funzt es besser. Aber achte bitte auf die Umlaute! (Brainfuck dagt eigentlich das es ASCII Ausgaben sind, da gibts keine, und unter der Console hast du andere Codepages als unter ANSI)
Außerdem passiert bei x nichts und ich muss das Programm mit Strg+C abbrechen. [/edit]
[edit=4] Na toll, jetzt funktioniert das Umleiten der Standardeingabe nicht mehr [/edit]
[edit=3] Und heute bezahlt niemand mehr mit DM [/edit]

Gruß
FAlter

himitsu 24. Jan 2010 17:08

Re: noch'n BF Interpreter
 
Zitat:

Zitat von FAlter
[edit] ReadKey? [/edit]

dieses scheint (unter Windows) zu laufen ... hab ich quasi von sakura Hier im Forum suchenReadKey
Delphi-Quellcode:
// initialisieren
H := GetStdHandle(STD_INPUT_HANDLE);
FlushConsoleInputBuffer(H);

// abfragen
CI.EventType := KEY_EVENT;
Repeat
Until ReadConsoleInput(H, CI, 1, Cardinal(i)) and (i = 1)
  and (CI.Event.KeyEvent.bKeyDown) and (CI.Event.KeyEvent.AsciiChar <> #0);
M[MP] := CI.Event.KeyEvent.AsciiChar;
FlushConsoleInputBuffer(H);

Zitat:

Zitat von FAlter
[edit=2] Aber achte bitte auf die Umlaute!
[edit=3] Und heute bezahlt niemand mehr mit DM [/edit]

Hatte das Script "nur" aus einem anderem BF-Dialekt übersetzt und versucht es in diesem Dialekt zum Laufen zu bekommen und bezüglich der Textinhalte nichts geändert. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz