Re: is lex useful? Or how about these other tools...

Scott Stanchfield <scooter@mccabe.com>
27 Jun 1996 11:33:11 -0400

          From comp.compilers

Related articles
is lex useful? kelley@phys.ocean.dal.ca (Dan E. Kelley) (1996-06-21)
Re: is lex useful? Or how about these other tools... inpact5@clr34el.der.edf.fr (INPACT5 inpact5) (1996-06-26)
Re: is lex useful? Or how about these other tools... scooter@mccabe.com (Scott Stanchfield) (1996-06-27)
Re: is lex useful? Or how about these other tools... bsspak@bath.ac.uk (P A Keller) (1996-06-27)
Re: is lex useful? Or how about these other tools... mkgardne@pertsserver.cs.uiuc.edu (1996-06-30)
Re: is lex useful? Or how about these other tools... daniels@Starbase.NeoSoft.COM (1996-07-02)
Re: is lex useful? Or how about these other tools... preston@tera.com (1996-07-03)
| List of all articles for this month |

From: Scott Stanchfield <scooter@mccabe.com>
Newsgroups: comp.compilers,comp.compilers.tools.pccts
Date: 27 Jun 1996 11:33:11 -0400
Organization: McCabe & Associates
References: 96-06-073 96-06-115
Keywords: tools, PCCTS

Regarding PCCTS:


-- non-commercial (and seems to be staying that way)
-- pretty-well supported
-- some future development on-going, but somewhat on hold
(see newsgroup)
-- new book on it coming out (soon?) written by author of tool
(pretty much a reference manual)
-- well integrated, or you can use flex if you'd like
-- C and C++ output code (soon (?) Java as well)
(I strongly recommend C++ output)
-- LL(k) using syntactic predicates for infinite lookahead
(if syntactic predicate present, parser will take a
guess and try the alt) Note that the predicates can
eliminate the need for left-factoring, although it's
cleaner to left factor where it's easy to do so
first
-- generates recursive-descent parser -- easy to debug and
set up trace functions to see how things are reducing
-- semantic predicates allow selection of an alt based on
evaluation of an expression (can determine "type" vs.
"function" in parser instead of in scanner.)
-- automatic generation of "lisp-ish" ASTs
(a separate tool, Sorcerer, can be used to walk
these trees using a second grammar)


-- you may want to follow comp.compilers.tools.pccts
-- you may want to look at
http://www.igs.net/~mtr/software-development/pccts.htm


-- as for future maintenance people, I don't see it as a big
problem. Yes, it's different, but it's easily as
readable as yacc (take that as you like). Just make
sure that you leave a copy of the appropriate PCCTS
docs and some web pointers (such as the newsgroup and
caravan of deams page (the one above) ). Also make
sure you have a copy of Tom Moog's "Notes for New
Users" with those docs as well.




Regarding Visual Parse++:
-- don't know much about it, but isn't it basically yacc with
a few graphical tools to analyze conflicts and show
parsing states as a file is parsed?




Go with PCCTS! (Am I biased? I'm not related to Ter, but I love the
tool! What else can I say?)


OK, so it is a bit biased, but I hope it's some help anyway...


-- Scott




> I've been looking at compiler tools for a few weeks now and
> I'd rather like an answer to your question as well. I would
> also like to add a bit to it...


--
Scott Stanchfield McCabe & Associates -- Columbia, Maryland
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.