source: proto/Compiler/config.py @ 4223

Last change on this file since 4223 was 3571, checked in by nmedfort, 6 years ago

start of error rewriting work. some clean up done to pablo.py; a few classes in it were moved to pablo_util.py.

File size: 3.6 KB
Line 
1#!/usr/bin/python
2# -*- coding: utf-8 -*-
3import optparse
4
5
6def get_option_parser():
7    """Return an C{optparse.OptionParser} instance tied to this configuration."""
8
9    parser = optparse.OptionParser(usage='python %prog [options] <input file>', version='1.0')
10
11    parser.add_option(
12        '-t',
13        '--template',
14        dest='template_filename',
15        type='string',
16        default='template.c',
17        help='default:template.c',
18        )
19
20    parser.add_option(
21        '-o',
22        '--output',
23        dest='output_filename',
24        type='string',
25        default='code.c',
26        help='default:code.c',
27        )
28
29    parser.add_option(
30        '-l',
31        '--label',
32        dest='template_label',
33        type='string',
34        default='@',
35        help='default:@',
36        )
37
38    parser.add_option(
39        '-c',
40        '--C_syntax',
41        dest='C_syntax',
42        action='store_true',
43        default=False,
44        help='use C syntax for output',
45        )
46
47    parser.add_option(
48        '-X',
49        '--experimental',
50        dest='experimental',
51        action='store_true',
52        default=False,
53        help='Experimental version with CCGO support',
54        )
55
56    parser.add_option(
57        '-W',
58        '--multicarryWhileMode',
59        dest='multicarryWhileMode',
60        action='store_true',
61        default=False,
62        help='Multicarry while loops: one carry per operation per iteration',
63        )
64
65    parser.add_option(
66        '-i',
67        '--IDISA',
68        dest='use_IDISA',
69        action='store_true',
70        default=True,
71        help='use new IDISA ops for output',
72        )
73
74    parser.add_option('-e', '--error_routine', dest='error_routine', default='assert_0_error', help='Name/qualified name for error routine')
75
76    parser.add_option('-C', '--character type', dest='pablo_char_type', default='char', help='The base type of character strings')
77
78    parser.add_option(
79        '-A',
80        '--ALWAYS_INLINE',
81        dest='always_inline',
82        action='store_true',
83        default=False,
84        help='set IDISA_ALWAYS_INLINE for do_block/do_final_block',
85        )
86
87    dump = optparse.OptionGroup(parser, 'Debug Options')
88
89    dump.add_option(
90        '-d',
91        '--dump_func_data',
92        dest='dump_func_data',
93        action='store_true',
94        default=False,
95        help='Dump stream function information.',
96        )
97
98    dump.add_option(
99        '-f',
100        '--func_defs',
101        dest='func_defs',
102        action='store_true',
103        default=False,
104        help='Display function definition transforms.',
105        )
106
107    dump.add_option(
108        '-s',
109        '--struct_decs',
110        dest='struct_decs',
111        action='store_true',
112        default=False,
113        help='Display struct declartation transforms.',
114        )
115
116    dump.add_option(
117        '-a',
118        '--add_dump_stmts',
119        dest='add_dump_stmts',
120        action='store_true',
121        default=False,
122        help='Add SIMD register dump statements.',
123        )
124
125    dump.add_option(
126        '-b',
127        '--add_assert_bitblock_align',
128        dest='add_assert_bitblock_align',
129        action='store_true',
130        default=False,
131        help='Add ASSERT_BITBLOCK_ALIGN statements.',
132        )
133
134    dump.add_option(
135        '--rewrite_errors',
136        dest='rewrite_errors',
137        action='store_true',
138        default=False,
139        help='Transforms any error.* statement within each do_block to use the AnyError bitblock.\nNote: this expects AnyError to be created and initialized to 0 in the template code and that all error bitstreams are contained within \"class Error\".',
140        )       
141       
142    parser.add_option_group(dump)
143
144    return parser
Note: See TracBrowser for help on using the repository browser.