<commit_before>#include <string>
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <unistd.h>
#include "machine.h"

using namespace std;

/*
General error checker
*/
void ErrorCheck(bool condition, const char * message){
	if(condition){
		perror(message);
		exit(1);
	}
}

/*
Read source code from a file into a string
*/
string loadSource(const char *fileName){

	//create source file stream and make sure it opened right
	ifstream source(fileName);
	ErrorCheck(!source.good(), "Read error");

	//Return the entire contents of the file
	string sourceString; string throwAway;
	while(getline(source, throwAway))
		sourceString+=throwAway+="\n";
	source.close();
	return sourceString;
}

int main(int argc, char **argv){
	//Process command line args
	int opCount;
	int tapeLength = 30000; //Default unless defined to be otherwise
	bool sCells = true; //Tape cells are signed by default
	bool AIO = false; //IO is not ascii by default;
	string sourceFile;

	//Recognize command line flags
	while((opCount = getopt(argc, argv, "f:asl:")) != -1){
		switch(opCount){
			case 'a': //Toggle ASCII IO
				AIO = true;
				break;
			case 's': //Toggle unsigned cells
				sCells = false;
				break;
			case 'f': //Provide a BF source code file to interpret
				sourceFile = optarg;
				break;
			case 'l': //Define tape length
				tapeLength = atoi(optarg);
				break;
			default:
				exit(1);
		}
	}	<commit_msg>Created branch<commit_after>#include <string>
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <unistd.h>
#include "machine.h"

using namespace std;

/*
General error checker
*/
void ErrorCheck(bool condition, const char * message){
	if(condition){
		perror(message);
		exit(1);
	}
}

/*
Read source code from a file into a string
*/
string loadSource(const char *fileName){

	//create source file stream and make sure it opened right
	ifstream source(fileName);
	ErrorCheck(!source.good(), "Read error");

	//Return the entire contents of the file
	string sourceString; string throwAway;
	while(getline(source, throwAway))
		sourceString+=throwAway+="\n";
	source.close();
	return sourceString;
}

int main(int argc, char **argv){
	//Process command line args
	int opCount;
	int tapeLength = 30000; //Default unless defined to be otherwise
	bool sCells = true; //Tape cells are signed by default
	bool AIO = false; //IO is not ascii by default;
	string sourceFile;

	//Recognize command line flags
	while((opCount = getopt(argc, argv, "asf:l:d:")) != -1){
		switch(opCount){
			case 'a': //Toggle ASCII IO
				AIO = true;
				break;
			case 's': //Toggle unsigned cells
				sCells = false;
				break;
			case 'f': //Provide a BF source code file to interpret
				sourceFile = optarg;
				break;
			case 'l': //Define tape length
				tapeLength = atoi(optarg);
				break;
			case 'd':
				printf("Some day this will enable debugging");
			default:
				exit(1);
		}
	}	
{'fraction_non_alphanumeric': 0.12358003442340791, 'fraction_numerical': 0.005507745266781412, 'mean_word_length': 3.7252032520325202, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4467401', 'n_tokens_mistral': 1059, 'n_tokens_neox': 940, 'n_words': 331}