keywords.sh revision 1.5 1 1.1 gwr #!/bin/sh
2 1.5 itojun # $NetBSD: keywords.sh,v 1.5 1999/07/02 15:29:03 itojun 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.1 gwr cloning
16 1.1 gwr delete
17 1.1 gwr dst
18 1.1 gwr expire
19 1.1 gwr flush
20 1.1 gwr gateway
21 1.1 gwr genmask
22 1.1 gwr get
23 1.1 gwr host
24 1.1 gwr hopcount
25 1.1 gwr iface
26 1.1 gwr interface
27 1.1 gwr ifa
28 1.1 gwr ifp
29 1.1 gwr inet
30 1.5 itojun inet6
31 1.1 gwr iso
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.1 gwr osi
43 1.5 itojun prefixlen
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.3 cgd extern 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