#! /usr/bin/awk -f { if(NF==10&&$1~/^[1-9][0-9]*$/){ id=$1-0; form[id]=$2; head[id]=$7; deprel[id]=$8; misc=$10; if($7==0) root=id; catena[id]=""; } else if($0==""){ for(i=1;i<=id;i++){ for(j=i;j!=0;j=head[j]) catena[j]=catena[j] form[i]; } c=catena[root]; s=t=""; for(i=1;iroot;i--){ if(head[i]==root){ if(deprel[i]=="parataxis"){ t=sprintf("%s\t->parataxis\n%s",catena[i],t); c=substr(c,1,length(c)-length(catena[i])); } else break; } } printf("%s%s root\n%s",s,c,t); if(misc~/SpacesAfter=\\n/) printf("EOP\n"); } }