view interps/boof/main.cpp @ 12500:e48c08805365 draft default tip

<b_jonas> ` learn \'The password of the month is Cthulhuquagdonic Mothraquagdonic Narwhalicorn.\' # https://logs.esolangs.org/libera-esolangs/2024-04.html#lKE Infinite craft
author HackEso <hackeso@esolangs.org>
date Wed, 01 May 2024 06:39:10 +0000
parents 859f9b4339e6
children
line wrap: on
line source

/* boolfuck.cpp -- an implementation of the Boolfuck programming
 * language, invented by Sam Hughes (not that I'm the first).  This
 * implementation is by Sam Hughes.  Not designed for hyperefficiency
 * or anything :) -- boof@samuelhughes.com */
 
/* For the rest of this document, I recommend considering the word "fuck" to be
 * non-profane. */

/* See also "smallfuck", which was apparently devised around 2002, and
 * of course, "brainfuck", which has been around for a while. */

#include "boof.h"

#include <iostream>

#include <string>
using std::string;

#include <fstream>


int main(int argc, char ** argv)
{
    if (argc != 2) {
	std::cerr << "Use one argument.  Not wimping out, are you?\n";
	return 1;
    }

    std::ifstream fin(argv[1]);

    if (! fin) {
	std::cerr << "Error opening file.  Did you even make a file?\n";
	return 1;
    }

    boofer runner(fin);
    runner.execute(std::cin, std::cout);

    /* These variable names are actually as descriptive as possible. */

    return 0;
}