#!/usr/bin/env perl
use utf8;
use strict;
use warnings;
use Encode qw/decode/;
use Acme::Aheui;

binmode STDIN, ':utf8';

my ($filename) = @ARGV;

my $help = << "__HELP__";
Acme::Aheui $Acme::Aheui::VERSION
Usage:
  aheui filename  : program read from source file
  aheui           : program read from stdin until EOF
__HELP__

die $help if ($filename && $filename =~ /^--?h(elp)?$/);

my $source;
if ($filename) {
    open(FH, $filename) or die "cannot open $filename\n";
    $source = join '', <FH>;
    close(FH);
    $source = decode('utf-8', $source);
}
else {
    $source = join '', <>;
}

my $interpreter = Acme::Aheui->new( source => $source );
exit $interpreter->execute();
