Skip to content

Commit a5ba746

Browse files
authored
Merge pull request #1400 from diffblue/smv-cleanup-ports-vs-parameters
SMV: cleanup ports/parameters in parse tree
2 parents ad1d458 + fc89115 commit a5ba746

File tree

4 files changed

+12
-20
lines changed

4 files changed

+12
-20
lines changed

src/smvlang/parser.y

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -361,11 +361,13 @@ module_name: IDENTIFIER_Token
361361
| STRING_Token
362362
;
363363

364-
module_head: MODULE_Token module_name { new_module($2); }
364+
module_head: MODULE_Token module_name
365+
{
366+
new_module($2);
367+
}
365368
| MODULE_Token module_name '(' module_parameters_opt ')'
366369
{
367-
auto &module = new_module($2);
368-
module.parameters = stack_expr($4);
370+
new_module($2);
369371
}
370372
;
371373

@@ -580,24 +582,16 @@ var_list : var_decl
580582

581583
module_parameter: identifier
582584
{
583-
const irep_idt &identifier=stack_expr($1).get(ID_identifier);
585+
const irep_idt &identifier=stack_expr($1).id();
584586
smv_parse_treet::mc_vart &var=PARSER.module->vars[identifier];
585587
var.var_class=smv_parse_treet::mc_vart::ARGUMENT;
586-
PARSER.module->ports.push_back(identifier);
588+
PARSER.module->parameters.push_back(identifier);
587589
}
588590
;
589591

590592
module_parameters:
591593
module_parameter
592-
{
593-
init($$);
594-
mto($$, $1);
595-
}
596594
| module_parameters ',' module_parameter
597-
{
598-
$$ = $1;
599-
mto($$, $3);
600-
}
601595
;
602596

603597
module_parameters_opt:

src/smvlang/smv_language.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@ void smv_languaget::show_parse(std::ostream &out, message_handlert &)
138138

139139
out << " PARAMETERS:\n";
140140

141-
for(auto &parameter : module.parameters.get_sub())
142-
out << " " << parameter.id() << '\n';
141+
for(auto &parameter : module.parameters)
142+
out << " " << parameter << '\n';
143143

144144
out << '\n';
145145

src/smvlang/smv_parse_tree.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class smv_parse_treet
3737
struct modulet
3838
{
3939
irep_idt name, base_name;
40-
irept parameters;
40+
std::list<irep_idt> parameters;
4141

4242
struct itemt
4343
{
@@ -288,8 +288,6 @@ class smv_parse_treet
288288

289289
mc_varst vars;
290290
enum_sett enum_set;
291-
292-
std::list<irep_idt> ports;
293291
};
294292

295293
typedef std::unordered_map<irep_idt, modulet, irep_id_hash> modulest;

src/smvlang/smv_typecheck.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,9 @@ void smv_typecheckt::convert_ports(
169169
{
170170
irept::subt &ports=dest.add(ID_ports).get_sub();
171171

172-
ports.reserve(smv_module.ports.size());
172+
ports.reserve(smv_module.parameters.size());
173173

174-
for(const auto &port_name : smv_module.ports)
174+
for(const auto &port_name : smv_module.parameters)
175175
{
176176
ports.push_back(exprt(ID_symbol));
177177
ports.back().set(

0 commit comments

Comments
 (0)