При предоставлении решения в C# (Visual Studio) мне нужно определить классы, которые следуют за некоторым шаблоном, и извлечь этот шаблон для последующего генерации кода.Извлечение шаблона из нескольких файлов (обнаружение паттерна)
Другими словами, мне нужно сравнить 2 класса (файлы) и извлечь из них общий шаблон. Этот шаблон будет использоваться для последующего генерации кода, когда программисту придется писать меньше кода.
Есть ли какое-либо тело, которое может дать мне представление о том, как это сделать?
Еще один вопрос: можно ли получить синтаксическое/семантическое дерево, созданное Visual Studio?
Tnx
Благодарю вас, но мне нужно больше обнаружить плагиат как [Мосс] (http://theory.stanford.edu/~aiken/moss/). Код не обязательно должен быть точно идентичным. –
Roslyn закончил хороший инструмент, но только для VS 2012, без поддержки VS 2010. Tnx –
А, ок. Возможно, вы можете скомпилировать эти файлы, а затем загрузить сборки для анализа через отражение, если вы хотите сделать это вручную. Или вы можете использовать некоторые [инструменты (ссылка)] (http://stackoverflow.com/questions/38635/what-static-analysis-tools-are-available-for-c). И у Roslyn есть двоичные файлы, доступные в [NuGet (link)] (http://nuget.org/packages/Roslyn), поэтому его можно использовать со свободной экспресс-версией VS 2012 –