Toy Interpreter of BrainFuck
发现了一个很有趣的编程语言:BrainFuck,它的语法很简单,只有6个命令,包括了输入、输出、跳转、加、减功能。
- 这种语言基于一个简单的机器模型,除了指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。
这种语言,是一种按照“Turing complete(图灵完备)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k 语言只有八种符号,所有的操作都由这八种符号的组合来完成。
使用C语言写一个简单的Brain Fuck解释器
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STACK_SIZE 1024
#define MAX_PROGRAM_SIZE 2048
#define MAX_MEMORY_SIZE 2048
typedef unsigned char base_t;
int main(int argc, char const *argv[])
{
char program[MAX_PROGRAM_SIZE] = {
0};
int memory[MAX_MEMORY_SIZE] = {
0};
int stack[MAX_STACK_SIZE] = {
0};
int pos =