Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » 25. Virtual rästel: Brainfuck

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.05.2003, 16:04 Uhr
virtual
Sexiest Bit alive
(Operator)


Hi,
Brainfuck ist offenbar die kommende Programmiersprache.
Aufgabe: schreibe einen Brainfuck interpreter. Dh Brainfuck code wird vom Programm einlesen und ausgeführt. Wem das zu langweilig ist, kann gerne noch Profiler+Debugger schreiben.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 20.05.2003 um 16:05 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.05.2003, 16:27 Uhr
~0xdeadbeef
Gast



C++:
#include <string>

using namespace std;

class BFuckInterpreter {
protected:
    int i;
    char arr[30000];
    string code;
  
    void ip(string part) {
        string part_of_part = "";
        for(string::iterator itr = part.begin(); itr != part.end(); ++itr) {
            switch(*i) {
            case '>': ++i; break;
            case '<': --i; break;
            case '+': ++arr[i]; break;
            case '-': --arr[i]; break;
            case '.': putchar(arr[i]); break;
            case ',': arr[i] = getchar(); break;
            case '[':
            while (*++itr != ']') {
                    part_of_part += *itr;
                }
                while(arr[i]) ip(part_of_part);
                break;
            default:
                throw(*itr);
            }
        }
    }

public:
    BFuckInterpreter(string s)
    : code(s), i(0) { }
    void start() { ip(code); }
};


Schreib ne passende Main-Methode dazu. Ich denke, so müsste es gehen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.05.2003, 16:33 Uhr
virtual
Sexiest Bit alive
(Operator)


@beefy: Gefällt mir
Wie wärs jetzt mit einer 32 Bit Additionsroutine in Brainfuck:
An Pointer liegen die vier Bytes für die Summe, in den beiden darauf folgenden 4 Byte Blöcken die beiden summanden
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.05.2003, 16:36 Uhr
virtual
Sexiest Bit alive
(Operator)


Hier ist noch ein Online Interpreter : http://home.wxs.nl/~faase009/Ha_bf_online.html
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: