https://github.com/epiqc/ScaffCC
Raw File
Tip revision: c89857074e85d3e843cda9f33a19a30808b40c06 authored by EPiQC on 08 July 2019, 18:49:30 UTC
Merge pull request #36 from AndrewLitteken/ScaffCC_OSX
Tip revision: c898570
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 );
    }
}
back to top