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