Revision 1b57c8e01a682145f576e101c868ba84ea38ec1b authored by ah744 on 06 August 2016, 01:41:28 UTC, committed by ah744 on 06 August 2016, 01:41:28 UTC
1 parent 2eae3de
leaves.pl
#!/usr/bin/perl
open FIN, $ARGV[0] or die "Unable to open $ARGV[0]! $!\n";
my $in_func = 0;
my $leaf = 1;
my $buffer = [];
while (<FIN>) {
if (/#Function (\w+)/) {
$in_func = 1;
push @$buffer, $_;
} elsif (/#EndFunction/) {
push @$buffer, $_;
if ( $leaf ) {
print @$buffer;
print "\n";
}
$in_func = 0;
$leaf = 1;
$buffer = ();
} elsif ( $in_func and $leaf ) {
my ($ts, $op, @args) = split / /;
$leaf = 0 if ( $op !~ /^(?:GateName|PrepZ|MeasX|MeasZ|CNOT|H|S|Sdag|T|Tdag|X|Y|Z|Fredkin)$/ );
push @$buffer, $_ if ( $leaf );
}
}

Computing file changes ...