Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1339)

Side by Side Diff: src/trusted/validator_arm/dgen_dump.py

Issue 10191011: Moving dgen_ scripts out of validator_arm into a common directory. (Closed)
Patch Set: Updates per code review. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #!/usr/bin/python
2 #
3 # Copyright 2009 The Native Client Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can
5 # be found in the LICENSE file.
6 # Copyright 2009, Google Inc.
7 #
8
9 """
10 Produces a table from the in-memory representation. Useful for storing the
11 optimized table for later use.
12 """
13
14 import dgen_opt
15
16 def dump_tables(tables, out):
17 """Dumps the given tables into a text file.
18
19 Args:
20 tables: list of Table objects to process.
21 out: an output stream.
22 """
23 if len(tables) == 0: raise Exception('No tables provided.')
24
25 _generate_header(out)
26 for t in tables:
27 _generate_table(t, out)
28
29 def _generate_header(out):
30 # TODO do we need a big ridiculous license banner in generated code?
31 out.write('# DO NOT EDIT: GENERATED CODE\n')
32
33
34 def _generate_table(t, out):
35 rows = dgen_opt.optimize_rows(t.rows)
36 print ('Table %s: %d rows minimized to %d.'
37 % (t.name, len(t.rows), len(rows)))
38
39 out.write('\n')
40 out.write('-- %s (%s)\n' % (t.name, t.citation))
41 num_cols = len(rows[0].patterns)
42 headers = ['pat%- 31s' % (str(n) + '(31:0)') for n in range(0, num_cols)]
43 out.write(''.join(headers))
44 out.write('\n')
45 for row in rows:
46 out.write(''.join(['%- 34s' % p for p in row.patterns]))
47 out.write(row.action)
48 if row.arch:
49 out.write('(%s)' % row.arch)
50 out.write('\n')
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/dgen_decoder_output.py ('k') | src/trusted/validator_arm/dgen_input.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698