Index: trunk/src/prolang.y
===================================================================
--- trunk/src/prolang.y	(Revision 2554)
+++ trunk/src/prolang.y	(Arbeitskopie)
@@ -6970,23 +7021,19 @@
           
           $$ = $1;
       }
-    | basic_type optional_star L_IDENTIFIER
+    | basic_type optional_star L_IDENTIFIER L_ASSIGN expr0
       {
-          define_local_variable($3, $1, $2, &$<lvalue>$, MY_FALSE, MY_TRUE);
-      }
-      L_ASSIGN expr0
-      {
-          init_local_variable($3, &$<lvalue>4, $5, $6.type);
+          struct lvalue_s lv;
+          define_local_variable($3, $1, $2, &lv, MY_FALSE, MY_TRUE);
+          init_local_variable($3, &lv, $4, $5.type);
           
           $$ = $1;
       }
-    | basic_type optional_star L_LOCAL
+    | basic_type optional_star L_LOCAL L_ASSIGN expr0
       {
-          define_local_variable($3, $1, $2, &$<lvalue>$, MY_TRUE, MY_TRUE);
-      }
-      L_ASSIGN expr0
-      {
-          init_local_variable($3, &$<lvalue>4, $5, $6.type);
+          struct lvalue_s lv;
+          define_local_variable($3, $1, $2, &lv, MY_TRUE, MY_TRUE);
+          init_local_variable($3, &lv, $4, $5.type);
           
           $$ = $1;
       }
@@ -7004,23 +7051,19 @@
           
           $$ = $1;
       }
-    | local_name_list ',' optional_star L_IDENTIFIER
+    | local_name_list ',' optional_star L_IDENTIFIER L_ASSIGN expr0
       {
-          define_local_variable($4, $1, $3, &$<lvalue>$, MY_FALSE, MY_TRUE);
-      }
-      L_ASSIGN expr0
-      {
-          init_local_variable($4, &$<lvalue>5, $6, $7.type);
+          struct lvalue_s lv;
+          define_local_variable($4, $1, $3, &lv, MY_FALSE, MY_TRUE);
+          init_local_variable($4, &lv, $5, $6.type);
           
           $$ = $1;
       }
-    | local_name_list ',' optional_star L_LOCAL
+    | local_name_list ',' optional_star L_LOCAL L_ASSIGN expr0
       {
-          define_local_variable($4, $1, $3, &$<lvalue>$, MY_TRUE, MY_TRUE);
-      }
-      L_ASSIGN expr0
-      {
-          init_local_variable($4, &$<lvalue>5, $6, $7.type);
+          struct lvalue_s lv;
+          define_local_variable($4, $1, $3, &lv, MY_TRUE, MY_TRUE);
+          init_local_variable($4, &lv, $5, $6.type);
           
           $$ = $1;
       }
