Меня попросили разработать программное обеспечение, которое должно уметь создавать блок-схему / поток управления входящего исходного кода Java. Я начал исследовать это и пришел к следующим решениям:
Чтобы создать блок-схему / поток управления, я должен распознавать управляющие операторы и вызовы функций, сделанные в данном исходном коде. Теперь у меня есть два способа распознать:
Я здесь? Или мне не хватает чего-то очень фундаментального и простого? Какой подход займет меньше времени и сделает работу более эффективной? Любые другие предложения по этому поводу также будут приветствоваться. Любой другой эффективный подход может помочь, потому что исходный код ввода может охватывать несколько файлов и может быть довольно сложным.
Я хорошо владею языками .NET, но это мой первый большой проект на Java. У меня есть базовые знания в области проектирования компиляторов, поэтому написание грамматик для меня не должно быть невозможным.
Извините, если я не совсем понимаю. Обращайтесь за разъяснениями.