Path: utzoo!attcan!uunet!lll-winken!lll-crg.llnl.gov!casey From: casey@lll-crg.llnl.gov (Casey Leedom) Newsgroups: comp.windows.x Subject: uwm doesn't recognize control|shift|meta + FIX Message-ID: <14441@lll-winken.llnl.gov> Date: 6 Dec 88 23:15:02 GMT Sender: usenet@lll-winken.llnl.gov Reply-To: casey@lll-crg.llnl.gov (Casey Leedom) Organization: Lawrence Livermore National Laboratory Lines: 68 Uwm will recognize key expressions of , , or | , but won't recognize | | . The fix is trivial. The person who put together uwm's gram.y just wasn't familiar with specifying LALR(1) grammars. I've changed the explicit enumerations of syntax into a recursive form that doesn't have any restrictions on the number of keys that can be in a key expression. Casey ----- *** /usr/local/src/X.V11R3/clients/uwm/gram.y-dist Wed Sep 21 12:14:31 1988 --- /usr/local/src/X.V11R3/clients/uwm/gram.y Tue Dec 6 15:08:28 1988 *************** *** 159,166 **** yyerror(msg); } if ($3 == C_MENUMAP) { ! bindtofunc ! ($1, bkmask, cmask, menu_name); } else yyerror("illegal construct"); break; case IsMenu: --- 159,165 ---- yyerror(msg); } if ($3 == C_MENUMAP) { ! bindtofunc($1, bkmask, cmask, menu_name); } else yyerror("illegal construct"); break; case IsMenu: *************** *** 228,234 **** { $$ = 0; } | kmask { $$ = $1; } ! | kmask '|' kmask { $$ = $1 | $3; } ; --- 227,233 ---- { $$ = 0; } | kmask { $$ = $1; } ! | kmask '|' keyexpr { $$ = $1 | $3; } ; *************** *** 236,245 **** { $$ = ROOT | WINDOW | ICON; } | contmask { $$ = $1; } ! | contmask '|' contmask { $$ = $1 | $3; } - | contmask '|' contmask '|' contmask - { $$ = $1 | $3 | $5; } ; buttexpr: buttmodexpr --- 235,242 ---- { $$ = ROOT | WINDOW | ICON; } | contmask { $$ = $1; } ! | contmask '|' contexpr { $$ = $1 | $3; } ; buttexpr: buttmodexpr