Skip to content

Commit 4648700

Browse files
authored
Merge pull request #976 from diffblue/expr2verilog-cleanup
cleanup expr2verilog
2 parents c2c8b0d + 9122c5d commit 4648700

File tree

2 files changed

+44
-60
lines changed

2 files changed

+44
-60
lines changed

src/verilog/expr2verilog.cpp

Lines changed: 37 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ expr2verilogt::resultt
9696
expr2verilogt::convert_if(const if_exprt &src, verilog_precedencet precedence)
9797
{
9898
if(src.operands().size()!=3)
99-
return convert_norep(src, precedence);
99+
return convert_norep(src);
100100

101101
std::string dest;
102102

@@ -146,7 +146,7 @@ expr2verilogt::resultt expr2verilogt::convert_sva_cycle_delay(
146146
verilog_precedencet precedence)
147147
{
148148
if(src.operands().size()!=3)
149-
return convert_norep(src, precedence);
149+
return convert_norep(src);
150150

151151
std::string dest="##";
152152

@@ -189,7 +189,7 @@ expr2verilogt::resultt expr2verilogt::convert_sva_sequence_concatenation(
189189
verilog_precedencet precedence)
190190
{
191191
if(src.operands().size()!=2)
192-
return convert_norep(src, precedence);
192+
return convert_norep(src);
193193

194194
std::string dest;
195195

@@ -231,7 +231,7 @@ expr2verilogt::resultt expr2verilogt::convert_binary(
231231
verilog_precedencet precedence)
232232
{
233233
if(src.operands().size()<2)
234-
return convert_norep(src, precedence);
234+
return convert_norep(src);
235235

236236
bool first=true;
237237
std::string dest;
@@ -276,7 +276,7 @@ expr2verilogt::resultt expr2verilogt::convert_with(
276276
verilog_precedencet precedence)
277277
{
278278
if(src.operands().size()<1)
279-
return convert_norep(src, precedence);
279+
return convert_norep(src);
280280

281281
std::string dest = "(" + convert_rec(src.old()).s;
282282

@@ -310,7 +310,7 @@ expr2verilogt::resultt expr2verilogt::convert_concatenation(
310310
verilog_precedencet precedence)
311311
{
312312
if(src.operands().size()<1)
313-
return convert_norep(src, precedence);
313+
return convert_norep(src);
314314

315315
bool first=true;
316316
std::string dest="{ ";
@@ -386,10 +386,7 @@ expr2verilogt::resultt
386386
expr2verilogt::convert_function_call(const function_call_exprt &src)
387387
{
388388
if(src.operands().size()!=2)
389-
{
390-
verilog_precedencet p;
391-
return convert_norep(src, p);
392-
}
389+
return convert_norep(src);
393390

394391
auto fkt = convert_rec(src.op0());
395392

@@ -677,7 +674,7 @@ expr2verilogt::resultt expr2verilogt::convert_replication(
677674
verilog_precedencet precedence)
678675
{
679676
if(src.operands().size()!=2)
680-
return convert_norep(src, precedence);
677+
return convert_norep(src);
681678

682679
std::string dest="{ ";
683680

@@ -707,7 +704,7 @@ expr2verilogt::resultt expr2verilogt::convert_unary(
707704
verilog_precedencet precedence)
708705
{
709706
if(src.operands().size()!=1)
710-
return convert_norep(src, precedence);
707+
return convert_norep(src);
711708

712709
auto op = convert_rec(src.op());
713710

@@ -745,8 +742,7 @@ expr2verilogt::convert_typecast(const typecast_exprt &src)
745742
return convert_rec(src.op());
746743
}
747744

748-
verilog_precedencet precedence;
749-
return convert_norep(src, precedence);
745+
return convert_norep(src);
750746
}
751747

752748
/*******************************************************************\
@@ -845,7 +841,7 @@ expr2verilogt::resultt expr2verilogt::convert_index(
845841
verilog_precedencet precedence)
846842
{
847843
if(src.operands().size()!=2)
848-
return convert_norep(src, precedence);
844+
return convert_norep(src);
849845

850846
auto op = convert_rec(src.op0());
851847

@@ -955,7 +951,7 @@ expr2verilogt::resultt expr2verilogt::convert_extractbit(
955951
verilog_precedencet precedence)
956952
{
957953
if(src.operands().size()!=2)
958-
return convert_norep(src, precedence);
954+
return convert_norep(src);
959955

960956
auto op = convert_rec(src.op0());
961957

@@ -1038,7 +1034,7 @@ expr2verilogt::resultt expr2verilogt::convert_member(
10381034
verilog_precedencet precedence)
10391035
{
10401036
if(src.operands().size()!=1)
1041-
return convert_norep(src, precedence);
1037+
return convert_norep(src);
10421038

10431039
auto op = convert_rec(src.compound());
10441040

@@ -1067,11 +1063,9 @@ Function: expr2verilogt::convert_norep
10671063
10681064
\*******************************************************************/
10691065

1070-
expr2verilogt::resultt
1071-
expr2verilogt::convert_norep(const exprt &src, verilog_precedencet &precedence)
1066+
expr2verilogt::resultt expr2verilogt::convert_norep(const exprt &src)
10721067
{
1073-
precedence = verilog_precedencet::MAX;
1074-
return {precedence, src.pretty()};
1068+
return {verilog_precedencet::MAX, src.pretty()};
10751069
}
10761070

10771071
/*******************************************************************\
@@ -1086,16 +1080,14 @@ Function: expr2verilogt::convert_symbol
10861080
10871081
\*******************************************************************/
10881082

1089-
expr2verilogt::resultt
1090-
expr2verilogt::convert_symbol(const exprt &src, verilog_precedencet &precedence)
1083+
expr2verilogt::resultt expr2verilogt::convert_symbol(const exprt &src)
10911084
{
1092-
precedence = verilog_precedencet::MAX;
10931085
std::string dest=src.get_string(ID_identifier);
10941086

10951087
if(std::string(dest, 0, 9)=="Verilog::")
10961088
dest.erase(0, 9);
10971089

1098-
return {precedence, dest};
1090+
return {verilog_precedencet::MAX, dest};
10991091
}
11001092

11011093
/*******************************************************************\
@@ -1110,11 +1102,9 @@ Function: expr2verilogt::convert_nondet_symbol
11101102
11111103
\*******************************************************************/
11121104

1113-
expr2verilogt::resultt expr2verilogt::convert_nondet_symbol(
1114-
const exprt &src,
1115-
verilog_precedencet &precedence)
1105+
expr2verilogt::resultt expr2verilogt::convert_nondet_symbol(const exprt &src)
11161106
{
1117-
return {precedence, "nondet(" + convert_symbol(src, precedence).s + ")"};
1107+
return {verilog_precedencet::MAX, "nondet(" + convert_symbol(src).s + ")"};
11181108
}
11191109

11201110
/*******************************************************************\
@@ -1129,11 +1119,9 @@ Function: expr2verilogt::convert_next_symbol
11291119
11301120
\*******************************************************************/
11311121

1132-
expr2verilogt::resultt expr2verilogt::convert_next_symbol(
1133-
const exprt &src,
1134-
verilog_precedencet &precedence)
1122+
expr2verilogt::resultt expr2verilogt::convert_next_symbol(const exprt &src)
11351123
{
1136-
return {precedence, "next(" + convert_symbol(src, precedence).s + ")"};
1124+
return {verilog_precedencet::MAX, "next(" + convert_symbol(src).s + ")"};
11371125
}
11381126

11391127
/*******************************************************************\
@@ -1149,12 +1137,10 @@ Function: expr2verilogt::convert_hierarchical_identifier
11491137
\*******************************************************************/
11501138

11511139
expr2verilogt::resultt expr2verilogt::convert_hierarchical_identifier(
1152-
const hierarchical_identifier_exprt &src,
1153-
verilog_precedencet &precedence)
1140+
const hierarchical_identifier_exprt &src)
11541141
{
1155-
precedence = verilog_precedencet::MAX;
11561142
return {
1157-
precedence,
1143+
verilog_precedencet::MAX,
11581144
convert_rec(src.module()).s + '.' + src.item().get_string(ID_base_name)};
11591145
}
11601146

@@ -1170,11 +1156,10 @@ Function: expr2verilogt::convert_constant
11701156
11711157
\*******************************************************************/
11721158

1173-
expr2verilogt::resultt expr2verilogt::convert_constant(
1174-
const constant_exprt &src,
1175-
verilog_precedencet &precedence)
1159+
expr2verilogt::resultt
1160+
expr2verilogt::convert_constant(const constant_exprt &src)
11761161
{
1177-
precedence = verilog_precedencet::MAX;
1162+
const auto precedence = verilog_precedencet::MAX;
11781163

11791164
const typet &type=src.type();
11801165
std::string dest;
@@ -1276,10 +1261,10 @@ expr2verilogt::resultt expr2verilogt::convert_constant(
12761261
dest = "null";
12771262
}
12781263
else
1279-
return convert_norep(src, precedence);
1264+
return convert_norep(src);
12801265
}
12811266
else
1282-
return convert_norep(src, precedence);
1267+
return convert_norep(src);
12831268

12841269
return {precedence, dest};
12851270
}
@@ -1468,7 +1453,7 @@ expr2verilogt::resultt expr2verilogt::convert_rec(const exprt &src)
14681453
else if(src.id()==ID_minus)
14691454
{
14701455
if(src.operands().size()!=2)
1471-
return convert_norep(src, precedence);
1456+
return convert_norep(src);
14721457
else
14731458
return convert_binary(
14741459
to_multi_ary_expr(src), "-", precedence = verilog_precedencet::ADD);
@@ -1700,21 +1685,21 @@ expr2verilogt::resultt expr2verilogt::convert_rec(const exprt &src)
17001685
precedence = verilog_precedencet::MIN);
17011686

17021687
else if(src.id()==ID_symbol)
1703-
return convert_symbol(src, precedence);
1688+
return convert_symbol(src);
17041689

17051690
else if(src.id()==ID_nondet_symbol)
1706-
return convert_nondet_symbol(src, precedence);
1691+
return convert_nondet_symbol(src);
17071692

17081693
else if(src.id()==ID_next_symbol)
1709-
return convert_next_symbol(src, precedence);
1694+
return convert_next_symbol(src);
17101695

17111696
else if(src.id() == ID_hierarchical_identifier)
17121697
return convert_hierarchical_identifier(
1713-
to_hierarchical_identifier_expr(src), precedence);
1698+
to_hierarchical_identifier_expr(src));
17141699

17151700
else if(src.id()==ID_constant)
1716-
return convert_constant(to_constant_expr(src), precedence);
1717-
1701+
return convert_constant(to_constant_expr(src));
1702+
17181703
else if(src.id()==ID_constraint_select_one)
17191704
return convert_function("$ND", src);
17201705

@@ -1948,8 +1933,8 @@ expr2verilogt::resultt expr2verilogt::convert_rec(const exprt &src)
19481933
return convert_function(src.id_string(), src);
19491934
}
19501935

1951-
// no VERILOG language expression for internal representation
1952-
return convert_norep(src, precedence);
1936+
// no VERILOG language expression for internal representation
1937+
return convert_norep(src);
19531938
}
19541939

19551940
/*******************************************************************\

src/verilog/expr2verilog_class.h

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,16 @@ class expr2verilogt
9393

9494
resultt convert_extractbits(const extractbits_exprt &, verilog_precedencet);
9595

96-
resultt convert_symbol(const exprt &src, verilog_precedencet &);
96+
resultt convert_symbol(const exprt &);
9797

98-
resultt convert_hierarchical_identifier(
99-
const class hierarchical_identifier_exprt &,
100-
verilog_precedencet &precedence);
98+
resultt
99+
convert_hierarchical_identifier(const class hierarchical_identifier_exprt &);
101100

102-
resultt convert_nondet_symbol(const exprt &src, verilog_precedencet &);
101+
resultt convert_nondet_symbol(const exprt &);
103102

104-
resultt convert_next_symbol(const exprt &src, verilog_precedencet &);
103+
resultt convert_next_symbol(const exprt &);
105104

106-
resultt convert_constant(const constant_exprt &, verilog_precedencet &);
105+
resultt convert_constant(const constant_exprt &);
107106

108107
resultt
109108
convert_explicit_const_cast(const class verilog_explicit_const_cast_exprt &);
@@ -146,7 +145,7 @@ class expr2verilogt
146145

147146
resultt convert_replication(const replication_exprt &, verilog_precedencet);
148147

149-
resultt convert_norep(const exprt &src, verilog_precedencet &);
148+
resultt convert_norep(const exprt &);
150149

151150
resultt convert_with(const with_exprt &, verilog_precedencet);
152151

0 commit comments

Comments
 (0)