AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Brainfuck Interpreter

Brainfuck Interpreter

Ein Thema von rawsoul · begonnen am 26. Jan 2008 · letzter Beitrag vom 28. Jan 2008
Antwort Antwort
Benutzerbild von rawsoul
rawsoul
Registriert seit: 29. Okt 2006
N'abend,

das hier ist mein BFI.

Ja, es gibt unzählige Brainfuck Interpreter im Internet, allerdings wollte ich mir meinen eigenen schreiben

Was meinen von allen anderen abhebt:
  • Ein visuelles Band (Der "Brainfuckstack") erleichtert das Arbeiten, Zurechtfinden und Debuggen der geschrieben Programme
  • Die Eingabe sowie Ausgabe erfolgen in einem 50-spaltigen Eingabe-/Ausgabefenster und bieten somit viel Platz für Kommentare und erhöhen die Übersichtlichkeit
  • Einfach zu erreichende Codetemplates erhöhen den Workflow in der Sprache um ein vielfaches und sparen Zeit
  • Eingebautes Ord() und Chr() erleichtern das Übersetzen und ersparen das nervtötende Suchen in den ASCII Tables
  • Durch die unkomplizierten Funktionen 'Mess up' und 'Block it' können genutzt werden, um den Brainfuck Code zu Formatieren
  • (Spaß) Der Brainfuck Code kann in Ook! übersetzt werden. (Einfach mal bei Wikipedia suchen )

Auf Eure Kritik bin ich gespannt =)

Viel Spaß!
Miniaturansicht angehängter Grafiken
unbenannt_849.png  
Angehängte Dateien
Dateityp: rar mbrainfuck_106.rar (259,5 KB, 17x aufgerufen)
 
Benutzerbild von cware
cware

 
Delphi 7 Enterprise
 
#2
  Alt 26. Jan 2008, 21:51
wie hast du das band realisiert? statisch oder dynamisch?


cheers...
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

 
Delphi 2005 Personal
 
#3
  Alt 27. Jan 2008, 11:57
Das Band ist dynamisch.

Ich bin gerade dabei, kleine Codetemplates wie zum Beispiel die Verschiebung, Multiplikation, Kopierung, Subtraktion, ... zu Implementieren und das Band visuell ausgeben lassen zu können.

Update wird dann im ersten Post geschehen.
Frank Dumont
  Mit Zitat antworten Zitat
blackdrake

 
Delphi 10.3 Rio
 
#4
  Alt 27. Jan 2008, 16:02
Band?
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von cware
cware

 
Delphi 7 Enterprise
 
#5
  Alt 27. Jan 2008, 16:05
in brainfuck wird eine turing-maschine mit einem (theoretisch) unendlichen band simuliert...
wie so'n tonband halt, wo man nach links oder rechts spulen kann und bei jedem schritt eine neue speicherstelle hat...

ein großteil der implementierung haben statische bänder mit meist 30.000 speicherstellen...

dynamisch implementierte bänder funktionieren anders...
dort wird das band erweitert, wenn man links oder rechts über die bisher allokierte größe drüberläuft...


cheers...
  Mit Zitat antworten Zitat
Klaus01

 
Delphi 10.4 Sydney
 
#6
  Alt 27. Jan 2008, 16:20
Nur eine kleine Anmerkung:

Turing-Maschinen haben schon per Definition ein unendliches Band zu Verfügung.
Deswegen kann man sie im Rechner auch nur bedingt nachbilden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von cware
cware

 
Delphi 7 Enterprise
 
#7
  Alt 27. Jan 2008, 16:26
Zitat von Klaus01:
Turing-Maschinen haben schon per Definition ein unendliches Band zu Verfügung.
anders sieht das mit Brainfuck-Interpretern aus (wie bereits erwähnt)...
jedoch ist brainfuck nur durch interpreter, die keine statischen bänder haben, turing-vollständig...


cheers...
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

 
Delphi 2005 Personal
 
#8
  Alt 27. Jan 2008, 16:28
Deshalb schrieb cware wohl auch "theoretisch"

Habe gerade ein kleines Problem, vielleicht kann man mir weiterhelfen. Wie im Screenshot zu sehen ist, ist auf dem nachgebildeten Brainfuckstack (Stringgrid) die erste Spalte um eine Spalte weiter nach rechts gerutscht, beziehungsweise kopiert. Nirgendwo weise ich jedoch der zweiten Spalte diese Inhalte zu. Während der Laufzeit kann ich diese Spalte nicht markieren, und spreche ich sg.Cells[1,x] an, so ist es in Wirklichkeit die dritte sichtbare Spalte. Liegt da ein Problem in der Komponente vor, oder bin ich gerade total auf dem falschen Ast?

//Edit: Problem ist mehr oder weniger gelöst. Es gab irgendwie Komplikationen mit FixedCols. Komische Sache...

Im ersten Post wurde übrigens geupdatet
Miniaturansicht angehängter Grafiken
unbenannt_199.png  
Frank Dumont
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

 
Delphi 2005 Personal
 
#9
  Alt 28. Jan 2008, 16:58
*bump*
Frank Dumont
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr.
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