Skip to content

lirc572/ti-brainfck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ti-brainfck (v1.0.0)

a brainfuck interpreter in ti-basic

Key Function
LN [
STO ]
4 >
1 <
5 +
2 -
6 .
3 ,
ENTER Newline
(-) Run
  • ti-brainfck (v1.0.0) has successfully interpreted the hello-world bf program.
  • ti-brainfck (v1.0.0) may (probably) have some bugs.
  • Bug fixes and new features will come out in the next version.
  • More detailed docs will be included in the next version.

How To Install:

Interpreter:

  • Download BFITPT.8xp to your GC (Ti-84 Plus C SE / Ti-84 Plus CE / ...).
  • Edit brainfck source code(Str0)
  • Run it.

Editor:

  • Download EDITOR.8xp to your GC (Ti-84 Plus C SE / Ti-84 Plus CE / ...).
  • Run it.

Features:

  • Automatically add new line when reaching the end of a line.
  • ClrHome when newline is needed at the last line of the screen.
  • Memory currently contains 900 cells and the maximum depth of loop allowed is 400, due to constraints of the GC.
  • Memory is wrapped on overflow and underflow (Cell(-1)=Cell(900), Cell(901)=Cell(1)).
  • Only the 8 command chars are allowed to be in the source.
  • Cells are emulated as to be 8-bit (0-255).
  • Use ASCII printable characters as input/output.
  • Currently only allows numbers and ALPHA characters(excluding theta and SOlVE) as input.
  • Type capital letters by pressing 'ALPHA' key followed by the letter keys.
  • Type numbers by directly pressing the number keys.
  • " sign is always automatically replaced by ' sign because GC does not allow the use of " in string variables.
    • Both "(ASCII:34) and '(ASCII:39) are shown as ' in output.
    • " ("ALPHA" + "+") is converted to 34 in input.
  • \ sign is always automatically replaced by / sign due to constraints of the GC.

Todos:

  • Add line buffer so as to move all lines up instead of clrhome when reaching the last line.
  • When editting source code:
    • Allow non-command chars as comment (which are ignored by the interpreter) (is it necessary?)
  • Translate newline to 10 on input, and 10 to newline on output
  • Display instructions at the start (to be added when all functions are complete)
  • Show cursor when waiting for input

  • BRAINFCK.8xg is the project file (can be used in SourceCoder3).
  • BFITPT.8xp is the program file of the interpreter.
  • Str0.8xs is a hello-world bf program.
  • EDITOR.8xp is the program file for the editor.