Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   BrainFuck Compiler (https://www.delphipraxis.net/41518-brainfuck-compiler.html)

Rastaman 6. Mär 2005 09:00

Re: BrainFuck Compiler
 
Weil es C:\hello_world.txt heissen muss.
Wieso macht man sich die Arbeit und schreibt mit Brainfuck Progs, wos doch mit Delphi viiiiiel einfacher geht?
Ok sind viel kleiner aber sonst :gruebel:
Trotzdem cooles Programm :thumb:

moritz 6. Mär 2005 09:22

Re: BrainFuck Compiler
 
Zitat:

Zitat von Gerrit89
Wieso macht man sich die Arbeit und schreibt mit Brainfuck Progs, wos doch mit Delphi viiiiiel einfacher geht?

Weil 's Spaß macht! :) Um die Größe geht es da, denke ich, nicht.

Gruß!

Vader 6. Mär 2005 11:04

Re: BrainFuck Compiler
 
hallo

peinlich, aber ich sag danke !

mfg vader

Pr0g 6. Mär 2005 13:07

Re: BrainFuck Compiler
 
BrainFuck ist wie die anderen esoterischen Sprachen wohl weniger zum effektiven Programmieren geeignet. Sie wurden einfach aus Spaß und Interesse an der Sache erstellt. Das ist das gleiche wie jeder wohl mal mit Delphi nen Rechner gemacht hat. Dort gibts es auch bessere, bspw. den von Windows, aber man macht es als ersten Schritt und weil es Spaß macht. Vielleicht nicht das beste Beispiel aber ihr wisst bestimmt wie ich das meine, bzw. denke. Habe die Sprache ja nicht selber gemacht.

moritz 6. Mär 2005 13:10

Re: BrainFuck Compiler
 
Die beste Erklärung der Sprache ist wohl der Name selber :mrgreen:

Pr0g 6. Mär 2005 13:32

Re: BrainFuck Compiler
 
Habe das Archiv mal um einen etwas komplexeren Beispielcode erweitert:
Code:
===================================================================
======================== OUTPUT STRING ============================
===================================================================
>++++++++[<++++++++>-]<++++++++++++++++.[-]
>++++++++++[<++++++++++>-]<++++++++++++++.[-]
>++++++++++[<++++++++++>-]<+++++.[-]
>++++++++++[<++++++++++>-]<+++++++++.[-]
>++++++++++[<++++++++++>-]<+.[-]
>++++++++++[<++++++++++>-]<+++++++++++++++.[-]
>+++++[<+++++>-]<+++++++.[-]
>++++++++++[<++++++++++>-]<+++++++++++++++++.[-]
>++++++++++[<++++++++++>-]<++++++++++++.[-]
>+++++[<+++++>-]<+++++++.[-]
>++++++++++[<++++++++++>-]<++++++++++++++++.[-]
>++++++++++[<++++++++++>-]<+++++++++++.[-]
>+++++++[<+++++++>-]<+++++++++.[-]
>+++++[<+++++>-]<+++++++.[-]

===================================================================
======================== INPUT NUMBER ============================
===================================================================
+                          cont=1
[
 -                         cont=0
 >,
 ======SUB10======
 ----------
 
 [                         not 10
  <+>                     cont=1
  =====SUB38======
  ----------
  ----------
  ----------
  --------

  >
  =====MUL10=======
  [>+>+<<-]>>[<<+>>-]<    dup

  >>>+++++++++
  [
   <<<
   [>+>+<<-]>>[<<+>>-]<   dup
   [<<+>>-]
   >>-
  ]
  <<<[-]<
  ======RMOVE1======
  <
  [>+<-]
 ]
 <
]
>>[<<+>>-]<<

===================================================================
======================= PROCESS NUMBER ===========================
===================================================================

==== ==== ==== ====
numd numu teid teiu
==== ==== ==== ====

>+<-
[
 >+
 ======DUP======
 [>+>+<<-]>>[<<+>>-]<

 >+<--

 >>>>>>>>+<<<<<<<<  isprime=1

 [
  >+

  <-

  =====DUP3=====
  <[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<<<

  =====DUP2=====
  >[>>+>+<<<-]>>>[<<<+>>>-]<<< <


  >>>


  ====DIVIDES=======
  [>+>+<<-]>>[<<+>>-]<  DUP i=div
 
  <<
  [
    >>>>>+               bool=1
    <<<
    [>+>+<<-]>>[<<+>>-]< DUP
    [>>[-]<<-]          IF i THEN bool=0
    >>
    [                    IF i=0
      <<<<
      [>+>+<<-]>>[<<+>>-]< i=div
      >>>
      -                  bool=0
    ]
    <<<
    -                    DEC i
    <<
    -
  ]
 
  +>>[<<[-]>>-]<<        
  >[-]<                 CLR div
  =====END DIVIDES====


  [>>>>>>[-]<<<<<<-]    if divides then isprime=0


  <<

  >>[-]>[-]<<<
 ]

 >>>>>>>>
 [
  -
  <<<<<<<[-]<<

  [>>+>+<<<-]>>>[<<<+>>>-]<<<

  >>




  ===================================================================
  ======================== OUTPUT NUMBER ===========================
  ===================================================================
  [>+<-]>
 
  [
   ======DUP======
   [>+>+<<-]>>[<<+>>-]<
 
 
   ======MOD10====
   >+++++++++<
   [
    >>>+<<             bool= 1
    [>+>[-]<<-]        bool= ten==0
    >[<+>-]            ten = tmp
    >[<<++++++++++>>-] if ten=0 ten=10
    <<-                 dec ten    
    <-                  dec num
   ]
   +++++++++            num=9
   >[<->-]<            dec num by ten
 
   =======RROT======
      [>+<-]
   < [>+<-]
   < [>+<-]
   >>>[<<<+>>>-]
   <
 
   =======DIV10========
   >+++++++++<
   [
    >>>+<<               bool= 1
    [>+>[-]<<-]          bool= ten==0
    >[<+>-]              ten = tmp
    >[<<++++++++++>>>+<-] if ten=0 ten=10  inc div
    <<-                   dec ten    
    <-                    dec num
   ]
   >>>>[<<<<+>>>>-]<<<<  copy div to num
   >[-]<                 clear ten
 
   =======INC1=========
   <+>
  ]
 
  <
  [
   =======MOVER=========
   [>+<-]
 
   =======ADD48========
   +++++++[<+++++++>-]<->
 
   =======PUTC=======
   <.[-]>
 
   ======MOVEL2========
   >[<<+>>-]<
 
   <-
  ]
 
  >++++[<++++++++>-]<.[-]
 
  ===================================================================
  =========================== END FOR ===============================
  ===================================================================


  >>>>>>>
 ]
 <<<<<<<<



 >[-]<
  [-]
 <<-
]
 
======LF========
 
++++++++++.[-],
Damit lassen sich Primzahlen berechnen und zuvor kommt eine Abfrage, bis zu welcher Zahl diese errechnet werden sollen.


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

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