Для языков программирования, от AST (абстрактное синтаксическое дерево) начать
NoSuchKey
рекомендация
отwww.cnblogs.com/nayek/p/12090364.html
рекомендация
ранжирование