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