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: