45 lines
766 B
Awk
Executable File
45 lines
766 B
Awk
Executable File
#!/usr/bin/awk -f
|
|
|
|
BEGIN {
|
|
|
|
nServs=0
|
|
|
|
while(getline < "../src/Span.h"){
|
|
|
|
gsub("^[ ]+","") # strip out any leading spaces
|
|
n=split($0,x,"[,();]+") # split line into separate words
|
|
|
|
if(x[1]=="CREATE_SERV"){
|
|
currentService=x[2]
|
|
services[nServs++]=currentService
|
|
nReqs[currentService]=0
|
|
nOpts[currentService]=0
|
|
}
|
|
|
|
else if(x[1]=="REQ")
|
|
reqs[currentService,nReqs[currentService]++]=x[2]
|
|
|
|
else if(x[1]=="OPT")
|
|
opts[currentService,nOpts[currentService]++]=x[2]
|
|
|
|
else if(x[1]=="CREATE_CHAR"){
|
|
for(i=2;i<n;i++)
|
|
printf("%s ",x[i])
|
|
printf("\n")
|
|
}
|
|
|
|
}
|
|
|
|
for(i=0;i<nServs;i++){
|
|
s=services[i]
|
|
print s
|
|
for(j=0;j<nReqs[s];j++)
|
|
print " REQ:" reqs[s,j]
|
|
for(j=0;j<nOpts[s];j++)
|
|
print " OPT:" opts[s,j]
|
|
}
|
|
|
|
}
|
|
|
|
|