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