| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # | 2 # |
| 3 # Copyright 2009 The Native Client Authors. All rights reserved. | 3 # Copyright 2011 The Native Client Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can | 4 # Use of this source code is governed by a BSD-style license that can |
| 5 # be found in the LICENSE file. | 5 # be found in the LICENSE file. |
| 6 # Copyright 2009, Google Inc. | 6 # Copyright 2011, Google Inc. |
| 7 # | 7 # |
| 8 | 8 |
| 9 """Decoder Generator script. | 9 """Decoder Generator script. |
| 10 | 10 |
| 11 Usage: generate-decoder.py <table-file> <output-cc-file> | 11 Usage: generate-decoder.py <arm-table-file> <thumb-table-file> <output-cc-file> |
| 12 """ | 12 """ |
| 13 | 13 |
| 14 import sys | 14 import sys |
| 15 import dgen_input | 15 import dgen_input |
| 16 import dgen_output | 16 import dgen_output |
| 17 | 17 |
| 18 def main(argv): | 18 def get_tables(filename): |
| 19 table_filename, output_filename = argv[1], argv[2] | 19 print "Decoder Generator reading ", filename |
| 20 | 20 f = open(filename, 'r') |
| 21 print "Decoder Generator reading ", table_filename | |
| 22 f = open(table_filename, 'r') | |
| 23 tables = dgen_input.parse_tables(f) | 21 tables = dgen_input.parse_tables(f) |
| 24 f.close() | 22 f.close() |
| 23 print "Successful - got %d tables." % len (tables) |
| 24 return tables |
| 25 | 25 |
| 26 print "Successful - got %d tables." % len(tables) | 26 def main(argv): |
| 27 arm_filename, thumb_filename, output_filename = argv[1], argv[2], argv[3] |
| 28 arm_tables = get_tables(arm_filename) |
| 29 thumb_tables = get_tables(thumb_filename) |
| 27 | 30 |
| 28 print "Generating output to %s..." % output_filename | 31 print "Generating output to %s..." % output_filename |
| 29 f = open(output_filename, 'w') | 32 f = open(output_filename, 'w') |
| 30 dgen_output.generate_decoder(tables, | 33 dgen_output.generate_decoder(arm_tables, thumb_tables, |
| 31 dgen_output.COutput(f)) | 34 dgen_output.COutput(f)) |
| 32 f.close() | 35 f.close() |
| 36 |
| 33 print "Completed." | 37 print "Completed." |
| 34 | 38 |
| 35 return 0 | 39 return 0 |
| 36 | 40 |
| 37 if __name__ == '__main__': | 41 if __name__ == '__main__': |
| 38 sys.exit(main(sys.argv)) | 42 sys.exit(main(sys.argv)) |
| OLD | NEW |