Dan Kogai > Language-BF-0.03 > Language::BF

Download:
Language-BF-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source  

NAME ^

Language::BF - BF virtual machine in perl

SYNOPSIS ^

  my $bf = Language::BF->new(<<EOC);
  ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<
  +++++++++++++++.>.+++.------.--------.>+.>.
  EOC
  $bf->run;
  print $bf->output; # "Hello World!\n";

DESCRIPTION ^

Language::BF is a straightforward (rather boring) implementation of Brainfuck programming language.

Language::BF is a OOP module that offers following methods

METHODS

new([$code, $input])

Constructs the BF virtual machine.

new($filename)

Constructs the BF virtual machine from BF source file.

reset

Resets the virtual machine to its initial state

code($code)
parse($code)

$econstruct the virtual machine. does. $bf->reset

input

Sets the stdin of the virtual machine.

run([$mode])

Runs the virtual machine. By default it runs perl-compiled code. By setting $mode to non-zero value, it runs as an iterpreter.

step

Step-executes the virtual machine.

output

Retrieves the stdout of the virtual machine.

as_source

Returns the perl-compiled source code that implements the virtual machine.

as_perl

Returns the executable perl code; the difference between this and as_source is that this one adds interface to STDIN/STDOUT so it can be directly fed back to perl.

  perl -MLanguage::BF \
       -e 'print Language::BF->new_from_file(shift)->as_perl' source.bf\
       | perl

is equivalent to running source.bf.

as_c

Returns the c source.

EXPORT

None by default.

SEE ALSO ^

Acme::Brainfuck

http://en.wikipedia.org/wiki/Brainfuck

AUTHOR ^

Dan Kogai, <dankogai@dan.co.jp>

COPYRIGHT AND LICENSE ^

Copyright (C) 2006 by Dan Kogai

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: