А вот не факт! Эти 4 цикла сами по себе смущают меня. Упаковка их в linq не решает проблему алгоритмической сложности и добавляет сложность в понимании linq
Ну, я думаю алгоритмическая сложность оправдана тем, что я бегаю по синтаксическому дереву. Хотя может можно и упростить. Это мой первый анализатор на roslyn