X-Git-Url: https://git.libre-soc.org/?p=sv2nmigen.git;a=blobdiff_plain;f=parse_sv.py;h=fd25dbfc83c7179ed73af7909499cce11a80690b;hp=3df4571b0d97e040d9b39a2b00dbfb3c6a4959cb;hb=3cf4fdd4414b16466ffdedd47016aec8520d5162;hpb=2501a8edb8bc25a1fd6a20be86bc48f0ddef8a07 diff --git a/parse_sv.py b/parse_sv.py index 3df4571..fd25dbf 100644 --- a/parse_sv.py +++ b/parse_sv.py @@ -109,18 +109,6 @@ class DataType: self.typ = typ self.signed = signed -def port_decl(comment, dt, name): - if dt is None or dt.dims is None: - width = '' # width: 1 - else: - width = dt.dims - # XXX TODO, better checking, should be using data structure... *sigh* - width = width[1:-1] # strip brackets - width = width.split(':') - assert width[0] == '0' - width = width[1] - return 'self.%s = Signal(%s) # %s' % (name, width, comment) - # -------------- RULES ---------------- () def p_source_text_1(p): @@ -4758,9 +4746,8 @@ def p_list_of_port_declarations_5(p): def p_port_declaration_1(p): '''port_declaration : attribute_list_opt K_input net_type_opt data_type_or_implicit IDENTIFIER dimensions_opt ''' if(parse_debug): print('port_declaration_1 FIXME', list(p)) - # XXX TODO: python AST comment, dt, name = p[2], p[4], p[5] - p[0] = port_decl(comment, dt, name) + p[0] = absyn.port_decl(comment, dt, name) # { Module::port_t*ptmp; # perm_string name = lex_strings.make(p[5]); # data_type_t*use_type = p[4]; @@ -4831,9 +4818,8 @@ def p_port_declaration_4(p): def p_port_declaration_5(p): '''port_declaration : attribute_list_opt K_output net_type_opt data_type_or_implicit IDENTIFIER dimensions_opt ''' if(parse_debug): print('port_declaration_5 FIXME', list(p)) - # XXX TODO: python AST comment, dt, name = p[2], p[4], p[5] - p[0] = port_decl(comment, dt, name) + p[0] = absyn.port_decl(comment, dt, name) # { Module::port_t*ptmp; # perm_string name = lex_strings.make(p[5]); # data_type_t*use_dtype = p[4];