keywords.sh revision 1.6 1 1.1 gwr #!/bin/sh
2 1.6 itojun # $NetBSD: keywords.sh,v 1.6 2001/01/27 04:51:17 itojun Exp $
3 1.1 gwr # @(#)keywords 8.2 (Berkeley) 3/19/94
4 1.1 gwr #
5 1.1 gwr # WARNING! If you change this file, re-run it!
6 1.1 gwr
7 1.1 gwr # This program requires "new" awk (or GNU awk).
8 1.1 gwr awk=${AWK:-awk}
9 1.1 gwr
10 1.1 gwr cat << _EOF_ > _keywords.t1
11 1.1 gwr add
12 1.4 christos atalk
13 1.1 gwr blackhole
14 1.1 gwr change
15 1.6 itojun cloned
16 1.1 gwr cloning
17 1.1 gwr delete
18 1.1 gwr dst
19 1.1 gwr expire
20 1.1 gwr flush
21 1.1 gwr gateway
22 1.1 gwr genmask
23 1.1 gwr get
24 1.1 gwr host
25 1.1 gwr hopcount
26 1.1 gwr iface
27 1.1 gwr interface
28 1.1 gwr ifa
29 1.1 gwr ifp
30 1.1 gwr inet
31 1.5 itojun inet6
32 1.1 gwr iso
33 1.1 gwr link
34 1.1 gwr llinfo
35 1.1 gwr lock
36 1.1 gwr lockrest
37 1.1 gwr mask
38 1.1 gwr monitor
39 1.1 gwr mtu
40 1.1 gwr net
41 1.1 gwr netmask
42 1.1 gwr nostatic
43 1.1 gwr osi
44 1.5 itojun prefixlen
45 1.1 gwr proto1
46 1.1 gwr proto2
47 1.1 gwr recvpipe
48 1.1 gwr reject
49 1.1 gwr rtt
50 1.1 gwr rttvar
51 1.1 gwr sa
52 1.1 gwr sendpipe
53 1.1 gwr show
54 1.1 gwr ssthresh
55 1.1 gwr static
56 1.1 gwr x25
57 1.1 gwr xns
58 1.1 gwr xresolve
59 1.1 gwr _EOF_
60 1.1 gwr
61 1.1 gwr
62 1.1 gwr ################################################################
63 1.1 gwr # Setup
64 1.1 gwr ################################################################
65 1.1 gwr
66 1.1 gwr # This creates a stream of:
67 1.1 gwr # keyword KEYWORD
68 1.1 gwr # (lower case, upper case).
69 1.1 gwr tr a-z A-Z < _keywords.t1 |
70 1.1 gwr paste _keywords.t1 - > _keywords.t2
71 1.1 gwr
72 1.1 gwr
73 1.1 gwr ################################################################
74 1.1 gwr # Generate the h file
75 1.1 gwr ################################################################
76 1.1 gwr exec > keywords.h
77 1.1 gwr
78 1.1 gwr echo '/* $'NetBSD'$ */
79 1.1 gwr
80 1.1 gwr /* WARNING! This file was generated by keywords.sh */
81 1.1 gwr
82 1.3 cgd extern struct keytab {
83 1.1 gwr char *kt_cp;
84 1.1 gwr int kt_i;
85 1.1 gwr } keywords[];
86 1.1 gwr
87 1.1 gwr ' # defines follow
88 1.1 gwr
89 1.1 gwr $awk '{
90 1.1 gwr printf("#define\tK_%s\t%d\n", $2, NR);
91 1.1 gwr }' < _keywords.t2
92 1.1 gwr
93 1.1 gwr
94 1.1 gwr ################################################################
95 1.1 gwr # Generate the c file
96 1.1 gwr ################################################################
97 1.1 gwr exec > keywords.c
98 1.1 gwr
99 1.1 gwr echo '/* $'NetBSD'$ */
100 1.1 gwr
101 1.1 gwr /* WARNING! This file was generated by keywords.sh */
102 1.1 gwr
103 1.1 gwr #include "keywords.h"
104 1.1 gwr
105 1.1 gwr struct keytab keywords[] = {
106 1.1 gwr ' # initializers follow
107 1.1 gwr
108 1.1 gwr $awk '{
109 1.1 gwr printf("\t{\"%s\", K_%s},\n", $1, $2);
110 1.1 gwr }' < _keywords.t2
111 1.1 gwr
112 1.1 gwr echo ' {0, 0}
113 1.1 gwr };
114 1.1 gwr ' # tail
115 1.1 gwr
116 1.1 gwr
117 1.1 gwr ################################################################
118 1.1 gwr # Cleanup
119 1.1 gwr ################################################################
120 1.1 gwr
121 1.1 gwr rm -f _keywords.t1 _keywords.t2
122 1.1 gwr exit 0
123