view interps/boof/main.cpp @ 5983:e9e46956a506

<oerjan> mk wisdom/welcome.sv//Hej och v\xc3\xa4lkommen till den internationella knutpunkten f\xc3\xb6r esoterisk programmeringsspr\xc3\xa5ksdesign och -drifts\xc3\xa4ttning! F\xc3\xb6r mer information, se v\xc3\xa5r wiki: <http://esolangs.org/>. (F\xc3\xb6r den andra sortens esoterism, pr\xc3\xb6va #esoteric p\xc3\xa5 EFnet eller DALnet.)
author HackBot
date Mon, 14 Sep 2015 17:49:06 +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;
}