diff --git a/Parser/spec/Fortran2008.rats b/Parser/spec/Fortran2008.rats
index 5d29286b7aaa62c6312c5d5a4e97eebf0dfb5a28..eb189fcade8c611d807fe1683dafd11e5b05c620 100644
--- a/Parser/spec/Fortran2008.rats
+++ b/Parser/spec/Fortran2008.rats
@@ -2699,6 +2699,7 @@ CommonBlockObject common_block_object =
 //// ArrayElement_Designator:Designator ::= ArrayElement ;
 //// ArraySection_Designator:Designator ::= ArraySection ;
 Designator designator =
+<BEGINNING>
     a:array_section
         {
             yyValue = new ArraySection_Designator(a);
@@ -4183,7 +4184,11 @@ DefinedBinaryOp defined_binary_op =
 //// // R732
 //// AssignmentStmt:ActionStmt ::= Variable Expr;
 AssignmentStmt assignment_stmt =
-    v:variable EQUALS e:expr lnc:comment
+    o:object_name EQUALS e:expr lnc:comment
+        {
+            yyValue = new AssignmentStmt(new Opt<Label>(), lnc, new Designator_Variable(new ObjectName_Designator(o)),e);
+        }
+/   v:variable EQUALS e:expr lnc:comment
         {
             yyValue = new AssignmentStmt(new Opt<Label>(), lnc, v,e);
         }