method new(:$skip_file, :$quiet? = 0) { self<skip_file> := $skip_file // './src/ops/ops.skip'; self<quiet> := $quiet;

# Initialize self.
self<op_skip_table> := hash();
self<ops_past>      := list();
self<regen_ops_num> := 0;

self.load_op_map_files();

self;
}

method load_op_map_files() { self._load_skip_file; }

method _load_skip_file() { my $buf := slurp(self<skip_file>); grammar SKIP { rule TOP { <op>+ }

    rule op { $<name>=(\w+) }
    token ws {
        [
        | \s+
        | '#' \N*
        ]*
    }
}

my $lines := SKIP.parse($buf);

for $lines<op> {
    self<op_skip_table>{$_<name>} := 1;
}
}

method op_skip_table() { self<op_skip_table>; }

# Local Variables: # mode: perl6 # fill-column: 100 # End: # vim: expandtab shiftwidth=4 ft=perl6: