#!/usr/bin/awk -f BEGIN { servicesFile = "../src/Span.h" charsFile = "../src/Characteristics.h" ws="[ \t,();]+" # regexp of separators ltws="^" ws "|" ws "$" # regexp of leading and training separators nServs=0 while(getline < servicesFile ){ gsub(ltws,"") # strip out leading or trailing separators n=split($0,x,ws) # split line by separators if(x[1]=="CREATE_SERV"){ currentService=x[2] services[nServs++]=currentService uuid[currentService]=x[3] nChars[currentService]=0 } else if(x[1]=="REQ" || x[1]=="OPT"){ servChars[currentService,nChars[currentService]]=x[2] servReq[currentService,nChars[currentService]]=(x[1]=="REQ") nChars[currentService]++ } else if(x[1]=="CREATE_CHAR"){ char=x[3] default[char]=x[4] min[char]=x[5] max[char]=x[6] nVals[char]=n-6 # number of pre-defined constants for(i=0;i%s (%s)
\n",s,uuid[s]) printf("Values\n") for(j=0;j") printf("",char,servReq[s,j]?" *":"") printf("",uuid[char]) printf("",format[char]) printf("",perms[char]) if(format[char]=="STRING") printf("") else printf("",min[char],max[char]) printf("\n") } print "
CharacteristicUUIDFormatPermsMinMax
%s%s%s%s%s(max 64 characters)%s%s") for(k=0;k") } printf("

" } }