X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=parse_sv.py;h=c1c0a9ca68e874ed4cafa0f897e9627abb0af71e;hb=b41a016efd59e3ee5ae118eb4e50d7b832c83b6e;hp=08c2925c93fbb75b52f89fcc5a60ae389629523b;hpb=cc5639a123bbebea72067db60fc8111e4e88c987;p=sv2nmigen.git diff --git a/parse_sv.py b/parse_sv.py index 08c2925..c1c0a9c 100644 --- a/parse_sv.py +++ b/parse_sv.py @@ -1035,6 +1035,7 @@ def p_data_type_or_implicit_3(p): '''data_type_or_implicit : dimensions ''' if(parse_debug): print('data_type_or_implicit_3', list(p)) + p[0] = list(p) # { vector_type_t*tmp = new vector_type_t(IVL_VT_LOGIC, false, p[1]); # tmp->implicit_flag = true; @@ -8046,8 +8047,9 @@ def p_module_item_2(p): '''module_item : attribute_list_opt net_type data_type_or_implicit delay3_opt net_variable_list ';' ''' if(parse_debug): print('module_item_2', list(p)) - - p[0] = ["module_item_2"]+list(p) + + p[0] = absyn.module_item_2(p[2], p[3], p[5]) + #p[0] = ["module_item_2"]+list(p) # { data_type_t*data_type = p[3]; # if (data_type == 0) { @@ -9174,10 +9176,12 @@ def p_bit_logic_opt_2(p): def p_net_type_1(p): '''net_type : K_wire ''' - if(parse_debug>2): + if(parse_debug > 2): print('net_type_1', list(p)) p[0] = "wire" + + () @@ -10083,25 +10087,27 @@ def p_register_variable_list_2(p): def p_net_variable_1(p): '''net_variable : IDENTIFIER dimensions_opt ''' - if(parse_debug>2): + if(parse_debug > 2): print('net_variable_1', list(p)) - - p[0]= ('net_variable_1', list(p)) - + + #p[0]= ('net_variable_1', list(p)) + # { perm_string name = lex_strings.make(p[1]); # pform_makewire(@1, name, NetNet::IMPLICIT, # NetNet::NOT_A_PORT, IVL_VT_NO_TYPE, 0); # pform_set_reg_idx(name, p[2]); - #p[0] = [p[1],p[2]] + p[0] = [p[1], p[2]] + + # } () def p_net_variable_list_1(p): '''net_variable_list : net_variable ''' - if(parse_debug>2): + if(parse_debug > 2): print('net_variable_list_1', list(p)) - p[0] = ('net_variable_list_1', list(p)) + p[0] = [p[1]] # { list*tmp = new list; # tmp->push_back(lex_strings.make(p[1])); @@ -10113,9 +10119,9 @@ def p_net_variable_list_1(p): def p_net_variable_list_2(p): '''net_variable_list : net_variable_list ',' net_variable ''' - if(parse_debug>2): + if(parse_debug > 2): print('net_variable_list_2', list(p)) - p[0] = ('net_variable_list_2', list(p)) + p[0] = p[1]+[p[3]] # { list*tmp = p[1]; # tmp->push_back(lex_strings.make(p[3]));