choices::
 
-       "choice" [symbol]
+       "choice"
        <choice options>
        <choice block>
        "endchoice"
 
 A choice accepts another option "optional", which allows to set the
 choice to 'n' and no entry needs to be selected.
-If no [symbol] is associated with a choice, then you can not have multiple
-definitions of that choice. If a [symbol] is associated to the choice,
-then you may define the same choice (i.e. with the same entries) in another
-place.
 
 comment::
 
 
 %type <expr> if_expr
 %type <string> end
 %type <menu> if_entry menu_entry choice_entry
-%type <string> word_opt assign_val
+%type <string> assign_val
 %type <flavor> assign_op
 
 %destructor {
 
 /* choice entry */
 
-choice: T_CHOICE word_opt T_EOL
+choice: T_CHOICE T_EOL
 {
-       struct symbol *sym = sym_lookup($2, SYMBOL_CHOICE);
+       struct symbol *sym = sym_lookup(NULL, SYMBOL_CHOICE);
        sym->flags |= SYMBOL_NO_WRITE;
        menu_add_entry(sym);
        menu_add_expr(P_CHOICE, NULL, NULL);
-       free($2);
        printd(DEBUG_PARSE, "%s:%d:choice\n", cur_filename, cur_lineno);
 };
 
        | T_WORD_QUOTE  { $$ = sym_lookup($1, SYMBOL_CONST); free($1); }
 ;
 
-word_opt: /* empty */                  { $$ = NULL; }
-       | T_WORD
-
 /* assignment statement */
 
 assignment_stmt:  T_WORD assign_op assign_val T_EOL    { variable_add($1, $3, $2); free($1); free($3); }