Related articles |
---|
Is YACC / PCCTS used in commercial compilers? johnr@ims.com (1996-12-07) |
Re: Is YACC / PCCTS used in commercial compilers? johnr@ims.com (1996-12-10) |
Re: Is YACC / PCCTS used in commercial compilers? miano@worldnet.att.net (1996-12-15) |
Re: Is YACC / PCCTS used in commercial compilers? oconnorm@eleceng.ee.queensu.ca (1996-12-15) |
Re: Is YACC / PCCTS used in commercial compilers? thetick@scruz.net (Scott Stanchfield) (1996-12-15) |
Re: Is YACC / PCCTS used in commercial compilers? jlilley@empathy.com (1996-12-15) |
Re: Is YACC / PCCTS used in commercial compilers? jsa@edg.com (1996-12-17) |
Re: Is YACC / PCCTS used in commercial compilers? nixon@softlab.se (Leif Nixon) (1996-12-20) |
Re: Is YACC / PCCTS used in commercial compilers? kanze@gabi-soft.fr (1997-01-02) |
From: | "Scott Stanchfield" <thetick@scruz.net> |
Newsgroups: | comp.compilers |
Date: | 15 Dec 1996 15:48:12 -0500 |
Organization: | scruz-net |
References: | 96-12-051 96-12-083 |
Keywords: | yacc |
John Roberts <johnr@ims.com> wrote in article 96-12-083...
> 1) What are the problems using YACC/PCCTS in commercial compilers?
> (i.e. why aren't they used?)
Sometimes it's just things like "yacc can't do it." There are certain
ambigities in C++, for example, that just can't be done with yacc.
You need to hack like crazy to get the scanner and parser to work
together, and it gets messy and/or impossible.
Other times, it's performance. Some companies create their own
scanners more often than their own parsers (they still use yacc for
the parsers.) And many more times I'd suspect it's a case of legacy
code that's never been converted.
And finally, there are people out there who just don't know the tools are
available. (many times this is how the legacy code I mentioned comes
along.)
> 2) What techniques are used in place of YACC/PCCTS for commerical
> compiler parsing?
-- Other parser/scanner generators
-- Hand-built parsers (I'd suspect most would be recursive-descent)
-- Combinations -- using yacc or another tool to "generally" parse, and
just collect ambiguous text. Then a hand-coded parser is used to do the
nasty work involved in disambiguating that text.
-- custom-built parser generators
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.