Skip to content

Commit 5d9c77b

Browse files
authored
Merge pull request #971 from diffblue/smv-parser-cleanup2
SMV: clean up parser code
2 parents e6f0621 + aa01c8f commit 5d9c77b

File tree

5 files changed

+3
-19
lines changed

5 files changed

+3
-19
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
syntax2.smv
33

4-
^file .* line 3: syntax error, unexpected VAR before 'VAR'$
4+
^file .* line 3: syntax error, unexpected VAR, expecting MODULE before 'VAR'$
55
^EXIT=1$
66
^SIGNAL=0$
77
--

src/smvlang/parser.y

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ static void new_module(YYSTYPE &module)
140140
PARSER.module=&PARSER.parse_tree.modules[name];
141141
PARSER.module->name=name;
142142
PARSER.module->base_name=stack_expr(module).id_string();
143-
PARSER.module->used=true;
144143
}
145144

146145
/*------------------------------------------------------------------------*/
@@ -236,8 +235,6 @@ static void new_module(YYSTYPE &module)
236235
%%
237236

238237
start : modules
239-
| formula { PARSER.module->add_ctlspec(stack_expr($1));
240-
PARSER.module->used=true; }
241238
;
242239

243240
modules : module

src/smvlang/smv_language.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,11 @@ bool smv_languaget::parse(
3434
{
3535
smv_parsert smv_parser(message_handler);
3636

37-
const std::string main_name=smv_module_symbol("main");
38-
smv_parser.module=&smv_parser.parse_tree.modules[main_name];
39-
smv_parser.module->name=main_name;
40-
smv_parser.module->base_name="main";
41-
4237
smv_parser.set_file(path);
4338
smv_parser.in=&instream;
4439

4540
bool result=smv_parser.parse();
4641

47-
// see if we used main
48-
49-
if(!smv_parser.parse_tree.modules[main_name].used)
50-
smv_parser.parse_tree.modules.erase(main_name);
51-
5242
smv_parse_tree.swap(smv_parser.parse_tree);
5343

5444
return result;

src/smvlang/smv_parse_tree.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,8 @@ class smv_parse_treet
175175

176176
mc_varst vars;
177177
enum_sett enum_set;
178-
bool used;
179-
178+
180179
std::list<irep_idt> ports;
181-
182-
modulet():used(false) { }
183180
};
184181

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

src/smvlang/smv_parser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class smv_parsert:public parsert
3434

3535
smv_parse_treet parse_tree;
3636
smv_parse_treet::modulet *module;
37-
37+
3838
virtual bool parse()
3939
{
4040
return yysmvparse();

0 commit comments

Comments
 (0)