Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site wivax.UUCP Path: utzoo!linus!decvax!wivax!mckeeman From: mckeeman@wivax.UUCP Newsgroups: net.lang.c Subject: Re: 2 b larl(a) Message-ID: <19565@wivax.UUCP> Date: Wed, 30-May-84 11:42:05 EDT Article-I.D.: wivax.19565 Posted: Wed May 30 11:42:05 1984 Date-Received: Fri, 1-Jun-84 07:32:15 EDT Sender: mckeeman@wivax.UUCP Organization: Wang Institute, Tyngsboro, Ma. 01879 Lines: 26 Following my `` ::= IF'' suggestion, Brian Thomson writes >>>Actually, I believe this would fail in most cases, at least for >>>the IF keyword. If your grammar contains >>> >>> ::= IF THEN .... >>> ::= IF >>> >>>and an may begin with a left parenthesis >>>it will fail to be LALR(1) because of the resulting shift-reduce conflict. >>>'IF (' is a prefix of a valid procedure call. >>>I don't know of any way to resolve the conflict, do you? >>>-- Ooops. You are right. My constructor (flesh & blood) fails to handle IF followed by '('. All readers should delete my claim until and if I can restate it accurately. The actual history of my hasty statement is a PL/I subset where we used this trick to conform to the 'no reserved word' definition of that language. It failed only on NOT as I remember, but now I am unwilling to trust foggy memories and unable to run a system dead these many years. /s/ Bill McKeeman.Wang-Inst at CSNet-Relay ...decvax!wivax!mckeeman Wang Institute of Graduate Studies, Tyngsboro, MA 01879