rendered paste body#!/usr/bin/perl
use strict;
my $ue = qr/(i|k|s|\..|r|v|d|\`(?-1)(?-1))/s;
my $lang = 'underload';
sub u2u {
my $expr = shift;
$expr eq 'i' and return '(^a)';
$expr eq 'k' and return '(^aa(^!)~*a)';
$expr eq 's' and return
'(^a(^aa:)~*(aa~*(~^^^)*a~)*a(^a)~*(~*(aa~*(~^^^)*a*(~^^^)*^a)*a)*a)';
$expr =~ /^\.(.)$/s and
return ($lang eq 'underload' ? "(^a($1)S)" : "(^a\"\Q$1\E\"O)");
$expr eq 'r' and
return ($lang eq 'underload' ? "(^a(\n)S)" : "(^a\"\\n\"O)");
$expr eq 'v' and return '((~^!a(:^)*a):^)';
$expr eq 'd' and return '((^a)~*(^)*a)';
$expr =~ /^\`(?'a'$ue)(?'b'$ue)$/s and do {
my $a = $+{a};
my $b = $+{b};
$a = &u2u($a);
$b = &u2u($b);
return "($a)($b)~^^^";
};
die "'$expr' is not a valid Unlambda expression";
}
$_ = <>;
chomp;
print u2u($_), "\n";