Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!yale!husc6!spdcc!iecc!compilers-sender From: grimlok@hubcap.clemson.edu (Mike Percy) Newsgroups: comp.compilers Subject: Re: Recursive Descent Parsers and YACC Keywords: parse, yacc, design, question Message-ID: <11800@hubcap.clemson.edu> Date: 23 Nov 90 16:31:03 GMT References: <11678@hubcap.clemson.edu <5602@labtam.labtam.oz> Sender: compilers-sender@iecc.cambridge.ma.us Reply-To: grimlok@hubcap.clemson.edu (Mike Percy) Organization: Clemson University, Clemson, SC Lines: 39 Approved: compilers@iecc.cambridge.ma.us dave@labtam.labtam.oz.au (David Taylor) writes: >grimlok@hubcap.clemson.edu (Mike Percy) writes: [some of my comments WRT RD parsers] >Recursive descent parser == LL(0) My references mention only that RD parsers are used with "extended-tree grammars," which are then defined. Perhaps I'm using the worng references, or have missed something, but I never noticed that RD == LL(0). >LR(1) is LESS restrictive. No argument there. >You can still use a grammar with yacc that has some conflicts as it >has some simple rules for conflict resolution. Some of these >recursive descent parser generators that you mention probably use >similar rules for conflict resolution but don't bother to tell you >about their use. Actually, doesn't yacc and its ilk use LALR? LALR can introduce conflicts that aren't in LR. As for conflict resolution methods, I'm sure that they all do similar things. >Look up some of the compiler theory ... it helps when you're trying to >design the grammar. It would also help if the language designers would make life a little easier... As for the theory, I do look it up. RD parsers weren't even mentioned in compiler class, except by me. I was told we weren't going to look at RD parsers. LL was defined, but not explored like LR and LALR were. Mike Percy grimlok@hubcap.clemson.edu ISD, Clemson University mspercy@clemson.BITNET (803)656-3780 mspercy@clemson.clemson.edu -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.