The last few years have seen a renewal of interest in the consideration of dynamic programming in compiler technology. This is due to the compactness of the representations, which are turning this paradigm into a common way of dealing with highly redundant computations occurring, for instance, in natural language processing, logic programming or abstract interpretation and related to phenomena such as non-determinism or domain ordering. However, it is not usual to find practical studies about what the real interest of these techniques is, and which approaches are better adapted in each case. We justify the consideration of dynamic programming, both in definite clause and context-free grammar parsing, highlighting the parallelism between the conclusions reached in both cases. We focus on the computational properties, suggesting a simple decision guide for the reader interested in applying this technology.
Manuel Vilares Ferro, Miguel A. Alonso, David Cabr