@@ -477,39 +477,40 @@ defines: define
477
477
;
478
478
479
479
define : assignment_var BECOMES_Token formula ' ;'
480
- {
481
- const irep_idt &identifier=stack_expr ($1 ).get (ID_identifier);
482
- smv_parse_treet::mc_vart &var=PARSER.module ->vars [identifier];
480
+ {
481
+ const irep_idt &identifier=stack_expr ($1 ).get (ID_identifier);
482
+ smv_parse_treet::mc_vart &var=PARSER.module ->vars [identifier];
483
483
484
- switch (var.var_class )
485
- {
486
- case smv_parse_treet::mc_vart::UNKNOWN:
487
- var.type .make_nil ();
488
- var.var_class =smv_parse_treet::mc_vart::DEFINED;
489
- break ;
484
+ switch (var.var_class )
485
+ {
486
+ case smv_parse_treet::mc_vart::UNKNOWN:
487
+ var.type .make_nil ();
488
+ var.var_class =smv_parse_treet::mc_vart::DEFINED;
489
+ break ;
490
490
491
- case smv_parse_treet::mc_vart::DECLARED:
492
- var.var_class =smv_parse_treet::mc_vart::DEFINED;
493
- break ;
491
+ case smv_parse_treet::mc_vart::DECLARED:
492
+ yyerror (" variable `" +id2string (identifier)+" ' already declared" );
493
+ YYERROR;
494
+ break ;
494
495
495
- case smv_parse_treet::mc_vart::DEFINED:
496
- yyerror (" variable `" +id2string (identifier)+" ' already defined" );
497
- YYERROR;
498
- break ;
499
-
500
- case smv_parse_treet::mc_vart::ARGUMENT:
501
- yyerror (" variable `" +id2string (identifier)+" ' already declared as argument" );
502
- YYERROR;
503
- break ;
504
-
505
- default :
506
- DATA_INVARIANT (false , " unexpected variable class" );
507
- }
496
+ case smv_parse_treet::mc_vart::DEFINED:
497
+ yyerror (" variable `" +id2string (identifier)+" ' already defined" );
498
+ YYERROR;
499
+ break ;
508
500
509
- binary ($$, $1 , ID_equal, $3 );
510
- PARSER.module ->add_define (to_equal_expr (stack_expr ($$)));
511
- }
512
- ;
501
+ case smv_parse_treet::mc_vart::ARGUMENT:
502
+ yyerror (" variable `" +id2string (identifier)+" ' already declared as argument" );
503
+ YYERROR;
504
+ break ;
505
+
506
+ default :
507
+ DATA_INVARIANT (false , " unexpected variable class" );
508
+ }
509
+
510
+ binary ($$, $1 , ID_equal, $3 );
511
+ PARSER.module ->add_define (to_equal_expr (stack_expr ($$)));
512
+ }
513
+ ;
513
514
514
515
formula : term
515
516
;
0 commit comments