keywords.sh revision 1.8 1 1.1 gwr #!/bin/sh
2 1.8 kefren # $NetBSD: keywords.sh,v 1.8 2010/05/12 19:26:33 kefren 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.7 jrf flushall
60 1.8 kefren nocloned
61 1.8 kefren nocloning
62 1.8 kefren noblackhole
63 1.8 kefren noreject
64 1.1 gwr _EOF_
65 1.1 gwr
66 1.1 gwr
67 1.1 gwr ################################################################
68 1.1 gwr # Setup
69 1.1 gwr ################################################################
70 1.1 gwr
71 1.1 gwr # This creates a stream of:
72 1.1 gwr # keyword KEYWORD
73 1.1 gwr # (lower case, upper case).
74 1.1 gwr tr a-z A-Z < _keywords.t1 |
75 1.1 gwr paste _keywords.t1 - > _keywords.t2
76 1.1 gwr
77 1.1 gwr
78 1.1 gwr ################################################################
79 1.1 gwr # Generate the h file
80 1.1 gwr ################################################################
81 1.1 gwr exec > keywords.h
82 1.1 gwr
83 1.1 gwr echo '/* $'NetBSD'$ */
84 1.1 gwr
85 1.1 gwr /* WARNING! This file was generated by keywords.sh */
86 1.1 gwr
87 1.3 cgd extern struct keytab {
88 1.8 kefren const char *kt_cp;
89 1.1 gwr int kt_i;
90 1.1 gwr } keywords[];
91 1.1 gwr
92 1.1 gwr ' # defines follow
93 1.1 gwr
94 1.1 gwr $awk '{
95 1.1 gwr printf("#define\tK_%s\t%d\n", $2, NR);
96 1.1 gwr }' < _keywords.t2
97 1.1 gwr
98 1.1 gwr
99 1.1 gwr ################################################################
100 1.1 gwr # Generate the c file
101 1.1 gwr ################################################################
102 1.1 gwr exec > keywords.c
103 1.1 gwr
104 1.1 gwr echo '/* $'NetBSD'$ */
105 1.1 gwr
106 1.1 gwr /* WARNING! This file was generated by keywords.sh */
107 1.1 gwr
108 1.1 gwr #include "keywords.h"
109 1.1 gwr
110 1.1 gwr struct keytab keywords[] = {
111 1.1 gwr ' # initializers follow
112 1.1 gwr
113 1.1 gwr $awk '{
114 1.1 gwr printf("\t{\"%s\", K_%s},\n", $1, $2);
115 1.1 gwr }' < _keywords.t2
116 1.1 gwr
117 1.1 gwr echo ' {0, 0}
118 1.1 gwr };
119 1.1 gwr ' # tail
120 1.1 gwr
121 1.1 gwr
122 1.1 gwr ################################################################
123 1.1 gwr # Cleanup
124 1.1 gwr ################################################################
125 1.1 gwr
126 1.1 gwr rm -f _keywords.t1 _keywords.t2
127 1.1 gwr exit 0
128