Contrary to a widely-held belief, it is possible to construct executab
le specifications of language processors that use a top-down parsing s
trategy and which have structures that directly reflect the structure
of grammars containing left-recursive productions. A novel technique h
as been discovered by which the non-termination that would otherwise o
ccur is avoided by 'guarding' top-down left-recursive language process
ors by non-left-recursive recognizers. The use of a top-down parsing s
trategy increases modularity and the use of left-recursive productions
facilitates specification of semantic equations. A combination of the
two is of significant practical value because it results in modular a
nd expressively clear executable specifications of language processors
. The new approach has been tested in an attribute grammar programming
environment that has been used in a number of projects including the
development of natural language interfaces, SQL processors and circuit
design transformers within a VLSI design package.