Skip to content

Commit e6387bf

Browse files
committed
SMV: grammar for module parameters
1. The production rule for module parameters is renamed from module_argument_list to module_parameters, to match the NuSMV manual. 2. A module parameter now needs to be an identifier, as opposed to a complex identifier, to match what NuSMV does.
1 parent 8b76c4e commit e6387bf

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/smvlang/parser.y

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ module_name: IDENTIFIER_Token
321321
;
322322

323323
module_head: MODULE_Token module_name { new_module($2); }
324-
| MODULE_Token module_name { new_module($2); } '(' module_argument_list_opt ')'
324+
| MODULE_Token module_name { new_module($2); } '(' module_parameters_opt ')'
325325
;
326326

327327
module_body: /* optional */
@@ -446,7 +446,7 @@ vardecls : vardecl
446446
| vardecls vardecl
447447
;
448448

449-
module_argument: variable_identifier
449+
module_parameter: identifier
450450
{
451451
const irep_idt &identifier=stack_expr($1).get(ID_identifier);
452452
smv_parse_treet::mc_vart &var=PARSER.module->vars[identifier];
@@ -455,12 +455,13 @@ module_argument: variable_identifier
455455
}
456456
;
457457

458-
module_argument_list: module_argument
459-
| module_argument_list ',' module_argument
458+
module_parameters:
459+
module_parameter
460+
| module_parameters ',' module_parameter
460461
;
461462

462-
module_argument_list_opt: /* empty */
463-
| module_argument_list
463+
module_parameters_opt: /* empty */
464+
| module_parameters
464465
;
465466

466467
type_specifier:

0 commit comments

Comments
 (0)