#NEWLINE# def main( ) : #NEWLINE# #INDENT# '\n    Main function.\n    ' #NEWLINE# opt = Options ( ) #NEWLINE# opt . parse ( sys . argv [ 1 : ] ) #NEWLINE# if opt . verbose : #NEWLINE# #INDENT# print ( print_parameters ( opt ) ) #NEWLINE# #UNINDENT# if ( opt . action == opt . action_check_str ) : #NEWLINE# #INDENT# crc = check_string ( opt ) #NEWLINE# print ( '{0:#x}' . format ( crc ) ) #NEWLINE# #UNINDENT# if ( opt . action == opt . action_check_hex_str ) : #NEWLINE# #INDENT# crc = check_hexstring ( opt ) #NEWLINE# print ( '{0:#x}' . format ( crc ) ) #NEWLINE# #UNINDENT# if ( opt . action == opt . action_check_file ) : #NEWLINE# #INDENT# crc = check_file ( opt ) #NEWLINE# print ( '{0:#x}' . format ( crc ) ) #NEWLINE# #UNINDENT# if ( opt . action in set ( [ opt . action_generate_h , opt . action_generate_c , opt . action_generate_c_main , opt . action_generate_table ] ) ) : #NEWLINE# #INDENT# parser = MacroParser ( opt ) #NEWLINE# if ( opt . action == opt . action_generate_h ) : #NEWLINE# #INDENT# in_str = '$h_template' #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( opt . action == opt . action_generate_c ) : #NEWLINE# #INDENT# in_str = '$c_template' #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( opt . action == opt . action_generate_c_main ) : #NEWLINE# #INDENT# in_str = '$c_template\n\n$main_template' #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( opt . action == opt . action_generate_table ) : #NEWLINE# #INDENT# in_str = '$crc_table_init' #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# sys . stderr . write ( '{0:s}: error: unknown action. Please file a bug report!\n' . format ( sys . argv [ 0 ] ) ) #NEWLINE# sys . exit ( 1 ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# parser . parse ( in_str ) #NEWLINE# if ( opt . output_file == None ) : #NEWLINE# #INDENT# print ( parser . out_str ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# write_file ( opt . output_file , parser . out_str ) #NEWLINE# #UNINDENT# #UNINDENT# return 0