keywords.sh revision 1.10.6.1 1 1.1 gwr #!/bin/sh
2 1.10.6.1 tls # $NetBSD: keywords.sh,v 1.10.6.1 2013/06/23 06:28:52 tls 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 link
33 1.1 gwr llinfo
34 1.1 gwr lock
35 1.1 gwr lockrest
36 1.1 gwr mask
37 1.1 gwr monitor
38 1.1 gwr mtu
39 1.1 gwr net
40 1.1 gwr netmask
41 1.1 gwr nostatic
42 1.5 itojun prefixlen
43 1.1 gwr proto1
44 1.1 gwr proto2
45 1.1 gwr recvpipe
46 1.1 gwr reject
47 1.1 gwr rtt
48 1.1 gwr rttvar
49 1.1 gwr sa
50 1.1 gwr sendpipe
51 1.1 gwr show
52 1.1 gwr ssthresh
53 1.1 gwr static
54 1.1 gwr x25
55 1.1 gwr xns
56 1.1 gwr xresolve
57 1.7 jrf flushall
58 1.8 kefren nocloned
59 1.8 kefren nocloning
60 1.8 kefren noblackhole
61 1.8 kefren noreject
62 1.9 kefren mpls
63 1.9 kefren tag
64 1.10 gdt proxy
65 1.1 gwr _EOF_
66 1.1 gwr
67 1.1 gwr
68 1.1 gwr ################################################################
69 1.1 gwr # Setup
70 1.1 gwr ################################################################
71 1.1 gwr
72 1.1 gwr # This creates a stream of:
73 1.1 gwr # keyword KEYWORD
74 1.1 gwr # (lower case, upper case).
75 1.1 gwr tr a-z A-Z < _keywords.t1 |
76 1.1 gwr paste _keywords.t1 - > _keywords.t2
77 1.1 gwr
78 1.1 gwr
79 1.1 gwr ################################################################
80 1.1 gwr # Generate the h file
81 1.1 gwr ################################################################
82 1.1 gwr exec > keywords.h
83 1.1 gwr
84 1.1 gwr echo '/* $'NetBSD'$ */
85 1.1 gwr
86 1.1 gwr /* WARNING! This file was generated by keywords.sh */
87 1.1 gwr
88 1.3 cgd extern struct keytab {
89 1.8 kefren const char *kt_cp;
90 1.1 gwr int kt_i;
91 1.1 gwr } keywords[];
92 1.1 gwr
93 1.1 gwr ' # defines follow
94 1.1 gwr
95 1.1 gwr $awk '{
96 1.1 gwr printf("#define\tK_%s\t%d\n", $2, NR);
97 1.1 gwr }' < _keywords.t2
98 1.1 gwr
99 1.1 gwr
100 1.1 gwr ################################################################
101 1.1 gwr # Generate the c file
102 1.1 gwr ################################################################
103 1.1 gwr exec > keywords.c
104 1.1 gwr
105 1.1 gwr echo '/* $'NetBSD'$ */
106 1.1 gwr
107 1.1 gwr /* WARNING! This file was generated by keywords.sh */
108 1.1 gwr
109 1.1 gwr #include "keywords.h"
110 1.1 gwr
111 1.1 gwr struct keytab keywords[] = {
112 1.1 gwr ' # initializers follow
113 1.1 gwr
114 1.1 gwr $awk '{
115 1.1 gwr printf("\t{\"%s\", K_%s},\n", $1, $2);
116 1.1 gwr }' < _keywords.t2
117 1.1 gwr
118 1.1 gwr echo ' {0, 0}
119 1.1 gwr };
120 1.1 gwr ' # tail
121 1.1 gwr
122 1.1 gwr
123 1.1 gwr ################################################################
124 1.1 gwr # Cleanup
125 1.1 gwr ################################################################
126 1.1 gwr
127 1.1 gwr rm -f _keywords.t1 _keywords.t2
128 1.1 gwr exit 0
129