ahorn / bf-interpreter

BF virtual machine written in C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License:      GPL
Author:       A. Horn
Description:  BF virtual machine written in C
Installation: sudo make install

BF commands:

  >   increment the data pointer (to point to the next cell to the right).
  <   decrement the data pointer (to point to the next cell to the left).
  +   increment (increase by one) the byte at the data pointer.
  -   decrement (decrease by one) the byte at the data pointer.
  .   output the value of the byte at the data pointer.
  ,   accept one byte of input, storing its value in the byte at the data pointer.
  [   if the byte at the data pointer is zero, then instead of moving the instruction
      pointer forward to the next command, jump it forward to the command after
      the matching ] command*.
  ]   if the byte at the data pointer is nonzero, then instead of moving the instruction
      pointer forward to the next command, jump it back to the command after the
      matching [ command*.

Example:

+++++ +++++             // initialize counter (cell #0) to 10
[                       // use loop to set the next four cells to 70/100/30/10
    > +++++ ++          //    add  7 to cell #1
    > +++++ +++++       //    add 10 to cell #2 
    > +++               //    add  3 to cell #3
    > +                 //    add  1 to cell #4
    <<<< -              //    decrement counter (cell #0)
]                       //
> ++ .                  // print 'H'
> + .                   // print 'e'
+++++ ++ .              // print 'l'
.                       // print 'l'
+++ .                   // print 'o'
> ++ .                  // print ' '
<< +++++ +++++ +++++ .  // print 'W'
> .                     // print 'o'
+++ .                   // print 'r'
----- - .               // print 'l'
----- --- .             // print 'd'
> + .                   // print '!'
> .                     // print '\n'

About

BF virtual machine written in C


Languages

Language:C 100.0%