Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.6.2.16 $; site ima.UUCP Path: utzoo!watmath!clyde!cbosgd!ulysses!allegra!mit-eddie!think!ima!compilers From: compilers@ima.UUCP Newsgroups: mod.compilers Subject: Some compiler questions Message-ID: <136300070@ima.UUCP> Date: Mon, 17-Feb-86 21:41:00 EST Article-I.D.: ima.136300070 Posted: Mon Feb 17 21:41:00 1986 Date-Received: Wed, 19-Feb-86 04:07:53 EST Lines: 25 Approved: compilers@ima.uucp Nf-ID: #N:ima:136300070:000:1195 Nf-From: ima!compilers Feb 17 21:41:00 1986 [from ihnp4!tektronix!reed!bart (Bart Massey)] OK, here's a couple of compiler questions: A) Is 'recursive descent' really the evil parsing method some books would have one believe? If so, why? -- things I've read don't make it very clear... B) Anybody know of grammar transformers or finite automata generators running under UN*X? I don't mean lex and yacc here -- I want a symbolic representation of a MDFA or a BNF grammar as output, rather than a bunch of @$%^ C code that I then have to go back and strip the logic out of. The -v mode of yacc isn't TOO bad, but... Bart Massey ..tektronix!reed!bart [I always thought that recursive descent was a perfectly reasonable way to build a compiler, particularly if you don't have an automatic parser generator. A case can be made that they are better for error correction than bottom-up parsers, since in a simple case you have a better idea of what you're looking for. Being able to feed a grammar to a generator program and having it hand you back a parser that you know will work is awfully nice and I'd never go back to manual parser writing if it didn't have to. Responsible opposing opinions invited, as they say. -John]