コード例 #1
0
ファイル: BFInterp.c プロジェクト: EdgeCaseBerg/BF_Interpret
int handleStateChange(BFState * interp,char command){
	switch(command){
		case '>':
			incrementDataPointer(interp);
			break;
		case '<':
			decrementDataPointer(interp);
			break;
		case '+':
			incrementCurrentByte(interp);
			break;
		case '-':
			decrementCurrentByte(interp);
			break;
		case '.':
			outputByte(interp);
			break;
		case ',':
			inputByte(interp);
			break;
		case '[':
		case ']':
			return 1;
		default:
			return 2;
	}
	return 0;
}
コード例 #2
0
ファイル: bfck.c プロジェクト: cyberpython/Bfck
int execCommand(int cmd){
	if(isValidCmd(cmd) == 0){
		
		if(cmd == '>'){
			return incrementDataPointer();
		}else if (cmd == '<'){
			return decrementDataPointer();
		}else if (cmd == '+'){
			return incrementData();
		}else if (cmd == '-'){
			return decrementData();
		}else if (cmd == '.'){
			return writeByte();
		}else if (cmd == ','){
			return readByte();
		}else if (cmd == '['){
			return jumpZero();
		}else if (cmd == ']'){
			return jumpBackNonZero();
		}
		
	}
	return 0;
}