DyALog est un environnement pour la compilation et l'exécution de grammaires et de programmes logiques. Il s'appuie avant tout sur la notion de tabulation, c'est-à-dire le partage d'étapes de calcul par la mémo(r)isation de leurs résultats. DyALog est principalement utilisé pour construire des analyseurs syntaxiques pour le traitement automatique des langues. Il peut néanmoins également être utilisé à la place de systèmes PROLOG traditionnels dans le contexte d'applications hautement ambiguës pour lesquelles des sous-ensembles de calculs peuvent être partagés.