#! /usr/bin/perl
 
while(<>) {
  if(/^\s*\[\s*\S+\s*(\S+)\s*(\S+)\s*(\S+)\s*\]/) {
    $k{hex $1} = 1;
    $k{hex $2} = 1;
    $k{hex $3} = 1;
  }
}
 
delete $k{0};
 
@f = sort { $a <=> $b } (keys %k);
 
print "-a ";
 
for (@f) {
  if(!defined($i)) {
    printf "0x%02x", $_;
    $sep = ',';
  }
  elsif($_ == $i + 1) {
    $sep = '-';
  }
  else {
    printf "-0x%02x", $i if $sep eq '-';
    printf ",0x%02x", $_;
    $sep = ',';
  }
 
  $i = $_;
}
 
printf "-0x%02x", $i if $sep eq '-';
 
print "\n";
 
