1 Post getaggt mit ©x, brainfuckx
-
Ein kleiner Brainfuck Interpreter
Mit Brainfuck-Code für Fibonacci-Zahlen. Oh Jubel.
# brainfuck Interpreter class Array def rtrim empty = 0 (self.length-1).downto(0) do |a| return self[0..a] if self[a] != empty end [] end end class Brainfuck attr_accessor :code, :ascii, :debug def initialize(code = "", memsize = 30000) @code = code.gsub(/[^\.,\-<>\[\]]/, "") @mem = Array.new(memsize, 0) @ascii = true # In/Output als ASCII oder mit puren Zellwerten arbeiten? @debug = false end def run p = 0 cp = 0 brackets = [] while cp < @code.length c = @code[cp].chr case c when "+" @mem[p] += 1 when "-" @mem[p] -= 1 when ">" p += 1 when "<" p -= 1 when "[" brackets.push(cp) when "]" if @mem[p] != 0 cp = brackets.pop - 1 else brackets.pop end when "." if @debug print "p: #{p} cp: #{cp} " p @mem.rtrim end if @ascii print @mem[p].chr else puts @mem[p] end when "," input = gets if @ascii @mem[p] = input[0] else @mem[p] = input.to_i end end cp += 1 end end end # Die ersten 10 Fibonacci-Zahlen: +>++>>>++++++++++[<<<<.>[->+>+<<]>>[-<<+>>]<<<[->+>>+<<<]>>>[-<<<+>>>]<<<[-]>>[<<+>>-]>>-] # Die ersten n Fibonacci-Zahlen: +>++>>>,[<<<<.>[->+>+<<]>>[-<<+>>]<<<[->+>>+<<<]>>>[-<<<+>>>]<<<[-]>>[<<+>>-]>>-] code = <<END +>++>>>,[<<<<.>[->+>+<<]>>[-<<+>>]<<<[->+>>+<<<]>>>[-<<<+>>>]<<<[-]>>[<<+>>-]>>-] END bf = Brainfuck.new(code) bf.ascii = false bf.debug = false bf.run
vor 1197 Tagen29.10.2008 04:28:20
Neue Kommentare
Wie soll man sich die entstehung des Bildes vorstellen?
Die Frau hat auf dem Sofa gelegen.
Währenddessen hat der Maler die abstrakte Kunst produziert.
Dann sieht sich das Modell das Bild an, das aber nur ein "Köder" für das eigentliche Bild war, das er dann noch schnell malt.
Die springende textarea tut dies nicht mehr im neuen Design. Hab ich bald fertig.
--wait=5 // wartet 5 Sekunden zwischen jedem Request (empfolen)
--random-wait // variert die Wartezeit (damits nicht so auffällig ist ;)
--limit-rate=300k // limitiert Bandbreite auf 300KB/s
[P.S.: Die Textarea fliegt immer noch ganz nach unten (unter die Tags) bei schmalen Browserfensterchen.]
http://selflinux.org/selflinux/html/vim.html
Merkwürdig. Der Link ist eigentlich korrekt, aber wenn ich draufklicke, werde ich nach
http://navigationshilfe1.t-online.de/dnserror?url=http://www.cosolit.deselflinux/
weitergeleitet.