@@ -273,9 +273,9 @@ static void new_module(YYSTYPE &module)
273273%token ADD_Token
274274%token SUB_Token
275275
276- %token STRING_Token " string "
277- %token QSTRING_Token " quoted string "
278- %token QUOTE_Token " ' "
276+ %token IDENTIFIER_Token " identifier "
277+ %token QIDENTIFIER_Token " quoted identifier "
278+ %token STRING_Token " quoted string "
279279%token NUMBER_Token " number"
280280
281281/* operator precedence, low to high */
@@ -310,8 +310,8 @@ modules : module
310310module : module_head module_body
311311 ;
312312
313- module_name : STRING_Token
314- | QUOTE_Token
313+ module_name : IDENTIFIER_Token
314+ | STRING_Token
315315 ;
316316
317317module_head : MODULE_Token module_name { new_module($2 ); }
@@ -421,7 +421,7 @@ ltl_specification:
421421 }
422422 ;
423423
424- extern_var : variable_identifier EQUAL_Token QUOTE_Token
424+ extern_var : variable_identifier EQUAL_Token STRING_Token
425425 {
426426 const irep_idt &identifier=stack_expr ($1 ).get (ID_identifier);
427427 smv_parse_treet::mc_vart &var=PARSER.module ->vars [identifier];
@@ -532,7 +532,7 @@ enum_list : enum_element
532532 }
533533 ;
534534
535- enum_element: STRING_Token
535+ enum_element: IDENTIFIER_Token
536536 {
537537 $$=$1 ;
538538 PARSER.module ->enum_set .insert (stack_expr ($1 ).id_string ());
@@ -783,7 +783,12 @@ formula_list:
783783 | formula_list ' ,' formula { $$=$1 ; mto ($$, $3 ); }
784784 ;
785785
786- identifier : STRING_Token
786+ identifier : IDENTIFIER_Token
787+ | QIDENTIFIER_Token
788+ {
789+ // not supported by NuSMV
790+ init ($$, std::string (stack_expr ($1 ).id_string (), 1 )); // remove backslash
791+ }
787792 ;
788793
789794variable_identifier: complex_identifier
@@ -816,7 +821,7 @@ variable_identifier: complex_identifier
816821 // PARSER.module->vars[stack_expr($1).id()];
817822 }
818823 }
819- | QUOTE_Token
824+ | STRING_Token
820825 {
821826 const irep_idt &id=stack_expr ($1 ).id ();
822827
@@ -826,19 +831,16 @@ variable_identifier: complex_identifier
826831 }
827832 ;
828833
829- complex_identifier: QSTRING_Token
830- {
831- init ($$, std::string (stack_expr ($1 ).id_string (), 1 )); // remove backslash
832- }
833- | STRING_Token
834- | complex_identifier DOT_Token QSTRING_Token
834+ complex_identifier:
835+ identifier
836+ | complex_identifier DOT_Token QIDENTIFIER_Token
835837 {
836838 std::string id (stack_expr ($1 ).id_string ());
837839 id+=" ." ;
838840 id+=std::string (stack_expr ($3 ).id_string (), 1 ); // remove backslash
839841 init ($$, id);
840842 }
841- | complex_identifier DOT_Token STRING_Token
843+ | complex_identifier DOT_Token IDENTIFIER_Token
842844 {
843845 std::string id (stack_expr ($1 ).id_string ());
844846 id+=" ." ;
0 commit comments