4.4BSD/usr/src/old/lisp/cvt.awk


{ if(begin != 1)
  { if($1 != "") flags[$1] = "on"
    if($2 != "") flags[$2] = "on"
    if($3 != "") flags[$3] = "on"
    if($4 != "") flags[$4] = "on"
    if($5 != "") flags[$5] = "on"
    skip = 0
    begin = 1
    next } }
/#ifdef/||/#elseif/ { if (flags[$2] != "") skip = -1; else skip = 1
	   	      print $0
	   	      next }
/#ifndef/ { if (flags[$2] != "") skip = 1; else skip = -1
	   	      print $0
	   	      next }
/#else/ { skip = -skip; print $0; next}
/#endif/ { skip = 0 ; print $0; next}
{ if(skip > 0)
    { if(substr($0,1,1) != "#") print "#" $0; else print $0;
      next }}
{ if(skip < 0)
    { if(substr($0,1,1) == "#") 
          print substr($0,2,length($0)-1) 
	  else print $0
      next }}
{ print $0 }