bfx
An interpreter, compiler, and REPL for brainfuck-like languages
Loading...
Searching...
No Matches
brainfuck.c File Reference
#include "brainfuck.h"
#include "bfx.h"
#include "util.h"

Functions

BFX_Error bfx_brainfuck_init (BFX *bfx)
 Initialize the Brainfuck interpreter.
 
BFX_Error bfx_brainfuck_run (BFX *bfx)
 Run the Brainfuck interpreter.
 
BFX_Error bfx_op_brainfuck_inc_tp (BFX *bfx, BFX_FileIndex *index)
 Increment tape pointer (brainfuck).
 
BFX_Error bfx_op_brainfuck_dec_tp (BFX *bfx, BFX_FileIndex *index)
 Decrement tape pointer (brainfuck).
 
BFX_Error bfx_op_brainfuck_inc_t (BFX *bfx, BFX_FileIndex *index)
 Increment tape value (brainfuck).
 
BFX_Error bfx_op_brainfuck_dec_t (BFX *bfx, BFX_FileIndex *index)
 Decrement tape value (brainfuck).
 
BFX_Error bfx_op_brainfuck_loop_start (BFX *bfx, BFX_FileIndex *index)
 Start of loop (brainfuck).
 
BFX_Error bfx_op_brainfuck_loop_end (BFX *bfx, BFX_FileIndex *index)
 End of loop (brainfuck).
 
BFX_Error bfx_op_brainfuck_getchar (BFX *bfx, BFX_FileIndex *index)
 Get character from input or stdin (brainfuck).
 
BFX_Error bfx_op_brainfuck_putchar (BFX *bf, BFX_FileIndex *index)
 Output the current cell value as a character (brainfuck).
 

Function Documentation

◆ bfx_brainfuck_init()

BFX_Error bfx_brainfuck_init ( BFX bfx)

Initialize the Brainfuck interpreter.

Parameters
bfxPointer to the already-allocated interpreter struct

◆ bfx_brainfuck_run()

BFX_Error bfx_brainfuck_run ( BFX bfx)

Run the Brainfuck interpreter.

Parameters
bfxPointer to the interpreter struct

◆ bfx_op_brainfuck_dec_t()

BFX_Error bfx_op_brainfuck_dec_t ( BFX bfx,
BFX_FileIndex index 
)

Decrement tape value (brainfuck).

◆ bfx_op_brainfuck_dec_tp()

BFX_Error bfx_op_brainfuck_dec_tp ( BFX bfx,
BFX_FileIndex index 
)

Decrement tape pointer (brainfuck).

◆ bfx_op_brainfuck_getchar()

BFX_Error bfx_op_brainfuck_getchar ( BFX bfx,
BFX_FileIndex index 
)

Get character from input or stdin (brainfuck).

◆ bfx_op_brainfuck_inc_t()

BFX_Error bfx_op_brainfuck_inc_t ( BFX bfx,
BFX_FileIndex index 
)

Increment tape value (brainfuck).

◆ bfx_op_brainfuck_inc_tp()

BFX_Error bfx_op_brainfuck_inc_tp ( BFX bfx,
BFX_FileIndex index 
)

Increment tape pointer (brainfuck).

◆ bfx_op_brainfuck_loop_end()

BFX_Error bfx_op_brainfuck_loop_end ( BFX bfx,
BFX_FileIndex index 
)

End of loop (brainfuck).

◆ bfx_op_brainfuck_loop_start()

BFX_Error bfx_op_brainfuck_loop_start ( BFX bfx,
BFX_FileIndex index 
)

Start of loop (brainfuck).

◆ bfx_op_brainfuck_putchar()

BFX_Error bfx_op_brainfuck_putchar ( BFX bf,
BFX_FileIndex index 
)

Output the current cell value as a character (brainfuck).