Changeset 2393 for proto/Compiler


Ignore:
Timestamp:
Sep 23, 2012, 3:57:41 PM (7 years ago)
Author:
ksherdy
Message:

Added stream function dump statements option.

Location:
proto/Compiler
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • proto/Compiler/config.py

    r2099 r2393  
    6161        dump = optparse.OptionGroup(parser, "Debug Options")
    6262
     63        dump.add_option('-d','--dump_func_data',
     64                dest='dump_func_data',
     65                action='store_true',
     66                default=False,
     67                help='Dump stream function information.')
     68
    6369        dump.add_option('-f','--func_defs',
    6470                                dest='func_defs',
  • proto/Compiler/pablo.py

    r2269 r2393  
    727727                self.declarations = ""
    728728                self.initializations = ""
     729       
     730        def dump(self):
     731                print "Name: " + self.type_name
     732                print "Carry Count: "    + str(self.carry_count)
     733                print "Init to One List: " #+ self.init_to_one_list = []
     734                print "Adv n Count: "      #+ self.adv_n_count = 0
     735                print "Instance Name:"     #+ self.instance_name = ""
     736                print "Parameters:"        #+ self.parameters = ""
     737                print "Declarations:"            #+ self.declarations = ""
     738                print "Initializations:"   # + self.initializations = ""
     739
    729740#
    730741# TODO Consolidate *all* C code generation into the Emitter class.   Medium priority.
     
    894905
    895906class MainLoopTransformer:
    896   def __init__(self, main_module, C_syntax=False, add_dump_stmts=False, add_assert_bitblock_align=False, main_node_id='Main'):
     907  def __init__(self, main_module, C_syntax=False, add_dump_stmts=False, add_assert_bitblock_align=False, dump_func_data=False, main_node_id='Main'):
    897908       
    898909    self.main_module = main_module
     
    901912    self.add_dump_stmts = add_dump_stmts
    902913    self.add_assert_bitblock_align = add_assert_bitblock_align
     914    self.dump_func_data = dump_func_data
    903915   
    904916        # Gather and partition function definition nodes.
     
    950962                stream_function.final_block_statements = Cgen.py2C(4).gen(final_block_node.body)
    951963                self.stream_functions[stream_function.type_name] = stream_function
    952        
     964               
     965    if self.dump_func_data:     
     966        for key, value in self.stream_functions.iteritems():
     967                        value.dump()
     968               
    953969    self.emitter = Emitter(self.use_C_syntax)
    954970   
  • proto/Compiler/pablomain.py

    r2099 r2393  
    4343        s = ast.parse(input_string)
    4444        # Analysis and Transformation
    45         xfrmr = pablo.MainLoopTransformer(s, options.C_syntax, options.add_dump_stmts, options.add_assert_bitblock_align)
     45        xfrmr = pablo.MainLoopTransformer(s, options.C_syntax, options.add_dump_stmts, options.add_assert_bitblock_align, options.dump_func_data)
    4646        xfrmr.gen_globals()
    4747        xfrmr.gen_declarations()
     
    9797               
    9898        elif options.func_defs:
    99                 print pablo.FunctionXformer().xlat(ast.parse(input_string))
     99                #print pablo.FunctionXformer().xlat(ast.parse(input_string))
     100                pass
    100101               
    101102        else:
Note: See TracChangeset for help on using the changeset viewer.