⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bfmain.cpp

📁 MONA是为数不多的C++语言编写的一个很小的操作系统
💻 CPP
字号:
/*!
  \file   MONAmona.cpp
  \brief  MONAmona based brainfuck

  Copyright (c) 2002-2004 shadow
  All rights reserved.<BR>
  \b License NYSL<BR>
  \b Create 2004/06/08
  \author  shadow

  $Revision: 1.1 $
  $Date: 2004/06/08 13:15:00 $
*/
#include <monapi.h>
#include "BfMain.h"
//#include <stdio.h>

BfMain::BfMain(){

  memset(mainbuf, 0, sizeof(mainbuf));
  mainptr = mainbuf;

  return;
}

BfMain::~BfMain(){

  return;
}

void BfMain::Init(void){

  memset(mainbuf, 0, sizeof(mainbuf));
  mainptr = mainbuf;

  return;
}

int BfMain::Parse(char *str){
  
  strptr = str;
  while(*strptr){
    switch(*strptr){
      case BF_GREATER: BfGreater(); break;
      case BF_LESS: BfLess(); break;
      case BF_PLUS: BfPlus(); break;
      case BF_MINUS: BfMinus(); break;
      case BF_COMMA: BfComma(); break;
      case BF_PERIOD: BfPeriod(); break; 
      case BF_LEFT: BfLeft(); break;
      case BF_RIGHT: BfRight(); break;
    }
    strptr++;
  }
  return 0; /* NEDD modify errors */
}

int BfMain::BfGreater(void){

  mainptr++;
  
  return 0; /* NEDD modify errors */
}

int BfMain::BfLess(void){

  mainptr--;

  return 0; /* NEDD modify errors */
}

int BfMain::BfPlus(void){

  (*mainptr)++;
  
  return 0; /* NEDD modify errors */
}

int BfMain::BfMinus(void){

  (*mainptr)--;
  
  return 0; /* NEDD modify errors */
}

int BfMain::BfComma(void){
  
  return 0; /* NEDD modify errors */
}

int BfMain::BfPeriod(void){

  printf("%c", *mainptr);
  
  return 0; /* NEDD modify errors */
}

int BfMain::BfLeft(void){

  if(*mainptr == 0){
    while (*(strptr++) != BF_RIGHT);
  }

  return 0; /* NEDD modify errors */
}

int BfMain::BfRight(void){

  if(*mainptr != 0) while (*(strptr--) != BF_LEFT);
  
  return 0; /* NEDD modify errors */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -