Blame view
egs/gp/s1/utils/add_disambig.pl
1.41 KB
8dcb6dfcb first commit |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#!/usr/bin/env perl # Copyright 2010-2011 Microsoft Corporation # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED # WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, # MERCHANTABLITY OR NON-INFRINGEMENT. # See the Apache 2 License for the specific language governing permissions and # limitations under the License. # Adds some specified number of disambig symbols to a symbol table. # Adds these as #1, #2, etc. # If the --include-zero option is specified, includes an extra one # #0. $include_zero = 0; if($ARGV[0] eq "--include-zero") { $include_zero = 1; shift @ARGV; } if(@ARGV != 2) { die "Usage: add_disambig.pl [--include-zero] symtab.txt num_extra > symtab_out.txt "; } $input = $ARGV[0]; $nsyms = $ARGV[1]; open(F, "<$input") || die "Opening file $input"; while(<F>) { @A = split(" ", $_); @A == 2 || die "Bad line $_"; $lastsym = $A[1]; print; } if(!defined($lastsym)){ die "Empty symbol file?"; } if($include_zero) { $lastsym++; print "#0 $lastsym "; } for($n = 1; $n <= $nsyms; $n++) { $y = $n + $lastsym; print "#$n $y "; } |