An arbitrary definite clause grammar can be transforaled into a so-called Generalized Greibach Normal Form (GGNF), a generalization of the classical Greibach Normat Form (GNF) for context-free grammars. The normalized definite clause grammar is declaratively equivalent to the original definite clause grammar, that is, it assigns the same analyses to the same strings. Offline-parsabilityof the original grammar is reflected in an elementary textual property of the transformed grammar. When this property holds, a direct (top-down) Prolog implementation of the normalized grammar solves the parsing problem: all solutions are enumerated on backtracking and execution terminates. When specialized to the simpler case of context-free grammars, the GGNF provides a variant to file GNF, where the transformed context-free grammar not only generates the same strings as the original grammar, but also preserves their degrees of ambiguity (this last property does not hold for the GNF). The GGNF seems t...