Парсинг кода c grep / sed для формирования дерева вызова функций (call graph)
На входе есть список файлов следующего вида:
FileName1:
Procedure NameProcedure1
FileName1.NameProcedure2
FileName1.NameFunction1
FileName2.NameProcedure1
EndProcedure
Procedure NameProcedure2
*****
EndProcedure
Procedure NameFunction1
*****
EndFunction
FileName2:
Procedure NameProcedure1
EndProcedure
Нужно получить таблицу вызовов функций в следующем виде
FileName1.NameProcedure1|FileName1.NameProcedure2
FileName1.NameProcedure1|FileName1.NameFunction1
FileName1.NameProcedure1|FileName2.NameProcedure1
Можно ли это сделать с помощью grep / sed? Есть другие варианты формирования такой информации?