Einzelnen Beitrag anzeigen

Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#16

Re: BrainFuck Compiler

  Alt 6. Mär 2005, 13:32
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.
  Mit Zitat antworten Zitat