#!/usr/bin/perl

mkdir("out", 0755);
$level = 0;
while ($arg = shift) {
	open(OUT, ">out/$arg")  || die "can't open out/$arg:$!\n";
	&process($arg, "");
	close OUT;
}

sub process {
	local($file, $indent) = @_;
	local($in);

	$level++;
	$in = "IN$level";
	open($in, $file) || die "can't open $file:$!\n";
	while (<$in>) {
		if (/(.*)\(([^)]*)\) *run(.*)$/) {
			local ($pre, $include, $post) = ($1, $2, $3);
			print OUT "$indent$pre\n" unless ($pre =~ /^\s*$/);
			print OUT "$indent% ($include) run\n";
			&process($include, " $indent");
			print OUT "$indent% end ($include) run\n";
			print OUT "$indent$post\n" unless ($post =~ /^\s*$/);
			next;
		}
		print OUT "$indent$_";
	}
	close $in;
	$level--;
}
