Related articles |
---|
From: | Christopher F Clark <christopher.f.clark@compiler-resources.com> |
Newsgroups: | comp.compilers |
Date: | Thu, 20 Jan 2022 21:11:51 +0200 |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="57288"; mail-complaints-to="abuse@iecc.com" |
Keywords: | parse, practice |
Posted-Date: | 20 Jan 2022 15:15:33 EST |
Sadly, I would like to offer an alternate perspective on how far
compilers are than other areas of software development.
Yes, LL and LR parser generators have been around for decades. My
compiler class in the late 1970s had me implement both of them.
However, shortly after that parser technology was considered basically
a settled problem, while in actuality many parser generators are hard
to use and people don't understand it when they output state machines
and conflict messages freak compiler writers out, etc.
As a result, despite all the technology we could be bringing to bare
on compilers, as far as I can tell, more than half the compilers in
actual use are done via hand-written recursive descent with little
hacks here and there to get them to work. The prevalence of "ad hack"
compilers should be embarrassing to anyone who wants to talk about
software "engineering".
There is good theory we could put to use building better compilers and
more reliable languages. However, most of it is languishing and going
to waste.
At least that's what this compiler developer sees when he looks at the
landscape. But maybe I am biased in that perspective....
******************************************************************************
Chris Clark email: christopher.f.clark@compiler-resources.com
Compiler Resources, Inc. Web Site: http://world.std.com/~compres
23 Bailey Rd voice: (508) 435-5016
Berlin, MA 01503 USA twitter: @intel_chris
------------------------------------------------------------------------------
[There's a definite "too busy chopping down trees to sharpen our axes" vibe
here. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.