keywords.sh revision 1.1 1 1.1 gwr #!/bin/sh
2 1.1 gwr # $NetBSD: keywords.sh,v 1.1 1996/11/15 18:01:39 gwr 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 # Note that this implementation mixes the #define's and
8 1.1 gwr # the C structure initialiers in keywords.h! (Yuck!)
9 1.1 gwr
10 1.1 gwr # This program requires "new" awk (or GNU awk).
11 1.1 gwr awk=${AWK:-awk}
12 1.1 gwr
13 1.1 gwr cat << _EOF_ > _keywords.t1
14 1.1 gwr add
15 1.1 gwr blackhole
16 1.1 gwr change
17 1.1 gwr cloning
18 1.1 gwr delete
19 1.1 gwr dst
20 1.1 gwr expire
21 1.1 gwr flush
22 1.1 gwr gateway
23 1.1 gwr genmask
24 1.1 gwr get
25 1.1 gwr host
26 1.1 gwr hopcount
27 1.1 gwr iface
28 1.1 gwr interface
29 1.1 gwr ifa
30 1.1 gwr ifp
31 1.1 gwr inet
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.1 gwr proto1
45 1.1 gwr proto2
46 1.1 gwr recvpipe
47 1.1 gwr reject
48 1.1 gwr rtt
49 1.1 gwr rttvar
50 1.1 gwr sa
51 1.1 gwr sendpipe
52 1.1 gwr show
53 1.1 gwr ssthresh
54 1.1 gwr static
55 1.1 gwr x25
56 1.1 gwr xns
57 1.1 gwr xresolve
58 1.1 gwr _EOF_
59 1.1 gwr
60 1.1 gwr
61 1.1 gwr ################################################################
62 1.1 gwr # Setup
63 1.1 gwr ################################################################
64 1.1 gwr
65 1.1 gwr # This creates a stream of:
66 1.1 gwr # keyword KEYWORD
67 1.1 gwr # (lower case, upper case).
68 1.1 gwr tr a-z A-Z < _keywords.t1 |
69 1.1 gwr paste _keywords.t1 - > _keywords.t2
70 1.1 gwr
71 1.1 gwr
72 1.1 gwr ################################################################
73 1.1 gwr # Generate the h file
74 1.1 gwr ################################################################
75 1.1 gwr exec > keywords.h
76 1.1 gwr
77 1.1 gwr echo '/* $'NetBSD'$ */
78 1.1 gwr
79 1.1 gwr /* WARNING! This file was generated by keywords.sh */
80 1.1 gwr
81 1.1 gwr struct keytab {
82 1.1 gwr char *kt_cp;
83 1.1 gwr int kt_i;
84 1.1 gwr } keywords[];
85 1.1 gwr
86 1.1 gwr ' # defines follow
87 1.1 gwr
88 1.1 gwr $awk '{
89 1.1 gwr printf("#define\tK_%s\t%d\n", $2, NR);
90 1.1 gwr }' < _keywords.t2
91 1.1 gwr
92 1.1 gwr
93 1.1 gwr ################################################################
94 1.1 gwr # Generate the c file
95 1.1 gwr ################################################################
96 1.1 gwr exec > keywords.c
97 1.1 gwr
98 1.1 gwr echo '/* $'NetBSD'$ */
99 1.1 gwr
100 1.1 gwr /* WARNING! This file was generated by keywords.sh */
101 1.1 gwr
102 1.1 gwr #include "keywords.h"
103 1.1 gwr
104 1.1 gwr struct keytab keywords[] = {
105 1.1 gwr ' # initializers follow
106 1.1 gwr
107 1.1 gwr $awk '{
108 1.1 gwr printf("\t{\"%s\", K_%s},\n", $1, $2);
109 1.1 gwr }' < _keywords.t2
110 1.1 gwr
111 1.1 gwr echo ' {0, 0}
112 1.1 gwr };
113 1.1 gwr ' # tail
114 1.1 gwr
115 1.1 gwr
116 1.1 gwr ################################################################
117 1.1 gwr # Cleanup
118 1.1 gwr ################################################################
119 1.1 gwr
120 1.1 gwr rm -f _keywords.t1 _keywords.t2
121 1.1 gwr exit 0
122