2.9
[glibc/nacl-glibc.git] / manual / xtract-typefun.awk
blobd39ceef188c1d001d054a7c83c6fa42d3fab4a02
1 #! /usr/local/bin/gawk -f
2 BEGIN {
3 last_node="";
6 /^@node/ {
7 name = $0;
8 sub(/^@node +/, "", name);
9 sub(/[@,].*$/, "", name);
10 last_node = name;
13 /^@deftype(fn|vr)/ {
14 # The string we want is $4, except that if there were brace blocks
15 # before that point then it gets shifted to the right, since awk
16 # doesn't know from brace blocks.
17 id = 4; check = 2; squig = 0;
18 while(check < id)
20 if($check ~ /{/) squig++;
21 if($check ~ /}/) squig--;
22 if(squig) id++;
23 check++;
26 gsub(/[(){}*]/, "", $id);
27 printf ("* %s: (libc)%s.\n", $id, last_node);
30 /^@deftypefun/ {
31 # Likewise, except it's $3 theoretically.
32 id = 3; check = 2; squig = 0;
33 while(check < id)
35 if($check ~ /{/) squig++;
36 if($check ~ /}/) squig--;
37 if(squig) id++;
38 check++;
41 gsub(/[(){}*]/, "", $id);
42 printf ("* %s: (libc)%s.\n", $id, last_node);